add idl field documenation table and accompanying IDL entry ... crazy recursive docs
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 11 Feb 2009 21:31:05 +0000 (21:31 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 11 Feb 2009 21:31:05 +0000 (21:31 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12153 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/examples/fm_IDL.xml
Open-ILS/src/sql/Pg/500.view.cross-schema.sql

index 1689d98..836957d 100644 (file)
@@ -3873,6 +3873,29 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
             </actions>
         </permacrud>
        </class>
+       <class id="fdoc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::idl_field_doc" oils_persist:tablename="config.idl_field_doc" oils_persist:field_safe="true">
+               <fields oils_persist:primary="id" oils_persist:sequence="config.idl_field_doc_id_seq">
+                       <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+                       <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+                       <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+                       <field name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+                       <field name="classname" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field name="field" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field name="owner" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="link"/>
+                       <field name="string" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text" oils_persist:i18n="true"/>
+               </fields>
+               <links>
+                       <link field="owner" reltype="has_a" key="code" map="" class="aou"/>
+               </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create   permission="ADMIN_FIELD_DOC" context_field="owner"/>
+                <retrieve/>
+                <update   permission="ADMIN_FIELD_DOC" context_field="owner"/>
+                <delete   permission="ADMIN_FIELD_DOC" context_field="owner"/>
+            </actions>
+        </permacrud>
+       </class>
        <class id="i18n_l" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::i18n_locale" oils_persist:tablename="config.i18n_locale" oils_persist:field_safe="true">
                <fields oils_persist:primary="code">
                        <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
index cfbcf48..4ea2e7a 100644 (file)
@@ -81,5 +81,16 @@ CREATE OR REPLACE VIEW money.open_usr_circulation_summary AS
          WHERE xact_type = 'circulation'
          GROUP BY 1;
 
+-- Not a view, but it's cross-schema..
+CREATE TABLE config.idl_field_doc (
+    id              BIGSERIAL   PRIMARY KEY,
+    classname       TEXT        NOT NULL,
+    field           TEXT        NOT NULL,
+    owner           INT         NOT NULL    REFERENCES actor.org_unit (id) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+    string          TEXT        NOT NULL
+);
+CREATE UNIQUE INDEX idl_field_doc_identity ON config.idl_field_doc (classname,field,owner);
+
+
 COMMIT;