for testing vmsp trees
authorLebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Mon, 11 Apr 2011 16:58:16 +0000 (12:58 -0400)
committerLebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Mon, 11 Apr 2011 16:58:16 +0000 (12:58 -0400)
Open-ILS/examples/fm_IDL.xml
Open-ILS/src/perlmods/lib/OpenILS/Application/Vandelay.pm

index 3b36a64..ae41a47 100644 (file)
@@ -558,11 +558,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
                        <field reporter:label="Tag" name="tag" reporter:datatype="text"/>
                        <field reporter:label="Subfield" name="subfield" reporter:datatype="text"/>
                        <field reporter:label="Importance" name="quality" reporter:datatype="int"/>
+                       <field reporter:label="Expression Tree Children" name="children" oils_persist:virtual="true" reporter:datatype="link"/>
                </fields>
                <links>
                        <link field="parent" reltype="has_a" key="id" map="" class="vmsp"/>
                        <link field="match_set" reltype="has_a" key="id" map="" class="vms"/>
                        <link field="svf" reltype="has_a" key="id" map="" class="crad"/>
+                       <link field="children" reltype="has_many" key="parent" map="" class="vmsp"/>
                </links>
                <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
                        <actions>
index 119e766..ca6963c 100644 (file)
@@ -1107,5 +1107,25 @@ sub respond_with_status {
         success_count => $success_count, %args }) if $err or ($try_count % 5 == 0);
 }
 
+__PACKAGE__->register_method(  
+    api_name    => "open-ils.vandelay.match_set_point.get_tree",
+    method      => "match_set_point_get_tree",
+    api_level   => 1,
+    argc        => 1
+);
+
+sub match_set_point_get_tree {
+    my ($self, $conn, $parent_id) = @_;
+
+    $parent_id = int($parent_id) or return;
+
+    my $tree = new_editor->search_vandelay_match_set_point([
+        {"parent" => $parent_id},
+        {"flesh" => -1, "flesh_fields" => ["children"]}
+    ]) or return $e->die_event;
+
+    return $tree;
+}
+
 
 1;