Better graph, include social media in schema for agencies
Better graph, include social media in schema for agencies


Former-commit-id: c8de24923a04e8b3ef19fcae4db577255ebef88f

--- a/getAgency.php
+++ b/getAgency.php
@@ -4,6 +4,7 @@
 include_header();
 
 function displayValue($key, $value, $mode) {
+    global $db;
     if ($mode == "view") {
         if (is_array($value)) {
             echo "<tr><td>$key</td><td><ol>";
@@ -30,8 +31,16 @@
         } else {
             if (strpos($key, "_") === 0) {
                 echo"<input type='hidden' id='$key' name='$key' value='$value'/>";
-            } if (strpos($key, "has") === 0) {
-                echo "<label for='$key'><input type='checkbox' id='$key' name='$key' checked='$value'> $key</label>";
+            } else if ($key == "parentOrg") {
+                echo "<label for='$key'>$key</label><select  id='$key' name='$key'>";
+                  $rows = $db->get_view("app", "byDeptStateName")->rows;
+    //print_r($rows);
+    foreach ($rows as $row) {
+        echo "<option value='{$row->value}'".(($row->value == $value) ? "SELECTED":"")." >".str_replace("Department of ","",$row->key)."</option>";
+    }
+    echo" </select>";
+            } else if (strpos($key, "has") === 0) {
+                echo "<label for='$key'><input type='checkbox' id='$key' name='$key' ".(($value=='true')?"checked='$value'":"")."> $key</label>";
             } else {
                 echo "<label>$key</label><input  class='input-text' type='text' id='$key' name='$key' value='$value'/>";
                 if ((strpos($key,"URL") > 0 || $key == 'website')&& $value != "") {
@@ -52,8 +61,13 @@
     foreach ($defaultFields as $defaultField) {
         if (!isset($row[$defaultField])) {
             if ($schemas['agency']['properties'][$defaultField]['type'] == "string") {
+                if (strpos($defaultField, "has") === 0) {
+            $row[$defaultField] = "false";
                 
+                } else {
             $row[$defaultField] = "";
+                }
+            
             }
              if ($schemas['agency']['properties'][$defaultField]['type'] == "array") {
                 

file:a/graph.php -> file:b/graph.php
--- a/graph.php
+++ b/graph.php
@@ -10,36 +10,47 @@
     var nodes = [];
 <?php
 $db = $server->get_db('disclosr-agencies');
-
+echo "nodes[\"fedg\"] = graph.newNode({label: \"Federal Government - Commonwealth of Australia\"});" . PHP_EOL;
 try {
     $rows = $db->get_view("app", "byCanonicalName", null, true)->rows;
     //print_r($rows);
     foreach ($rows as $row) {
-        echo "nodes[\"{$row->value}\"] = graph.newNode({label: \"{$row->key}\"});".PHP_EOL;
+        echo "nodes[\"{$row->value}\"] = graph.newNode({label: \"{$row->key}\"});" . PHP_EOL;
     }
 } catch (SetteeRestClientException $e) {
     setteErrorHandler($e);
 }
+
+try {
+    $rows = $db->get_view("app", "byDeptStateName", null, true)->rows;
+    //print_r($rows);
+    foreach ($rows as $row) {
+        echo "graph.newEdge(nodes[\"fedg\"], nodes['{$row->value}'], {color: '#00A0B0'});" . PHP_EOL;
+    }
+} catch (SetteeRestClientException $e) {
+    setteErrorHandler($e);
+}
+
 try {
     $rows = $db->get_view("app", "parentOrgs", null, true)->rows;
- //   print_r($rows);
+    //   print_r($rows);
     foreach ($rows as $row) {
-        echo "graph.newEdge(nodes[\"{$row->key}\"], nodes['{$row->value}'], {color: '#00A0B0'});".PHP_EOL;
+        echo "graph.newEdge(nodes[\"{$row->key}\"], nodes['{$row->value}'], {color: '#FFA0B0'});" . PHP_EOL;
     }
 } catch (SetteeRestClientException $e) {
     setteErrorHandler($e);
 }
 ?>
-     window.onload = function() {
-                $(document).ready(function() {
-        var springy = $('#springydemo').springy({
-            graph: graph
+    window.onload = function() {
+        $(document).ready(function() {
+            var springy = $('#springydemo').springy({
+                graph: graph
+            });
         });
-                });
-     };
+    };
 </script>
 
-<canvas id="springydemo" width="960" height="480" />
+<canvas id="springydemo" width="1260" height="680" />
 <?php
 //include_footer();
 ?>

--- a/include/couchdb.inc.php
+++ b/include/couchdb.inc.php
@@ -11,6 +11,11 @@
     $obj->views->byABN->map = "function(doc) {   emit(doc.abn, doc); };";
         $obj->views->byCanonicalName->map = "function(doc) {  
             if (doc.parentOrg || doc.orgType == 'FMA-DepartmentOfState') {
+        emit(doc.name, doc._id); 
+        }
+};";
+        $obj->views->byDeptStateName->map = "function(doc) {  
+            if (doc.orgType == 'FMA-DepartmentOfState') {
         emit(doc.name, doc._id); 
         }
 };";

--- a/schemas/agency.json.php
+++ b/schemas/agency.json.php
@@ -20,6 +20,12 @@
         "FOIDocumentsURL"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"),
         "infoPublicationSchemeURL"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"),
         "appointmentsURL"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"),
+   "hasRSS"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"),
+   "hasMailingList"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"),
+   "hasTwitter"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"),
+   "hasFacebook"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"),
+        "hasYouTube"=> Array("type" => "string", "required" => true, "x-title"=> "Agency Name", "description" => "Agency Name, most recent and broadest"),
+   
     ),
     /*"org":{"type":"object",
 		"properties":{