diff flys-artifacts/doc/conf/meta-data-user.xml @ 1018:d42fa223be48

Datacage: added first user specific config for cross sections. flys-artifacts/trunk@2464 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 04 Aug 2011 15:05:02 +0000
parents 8637756275e5
children aff2a0a29aa3
line wrap: on
line diff
--- a/flys-artifacts/doc/conf/meta-data-user.xml	Thu Aug 04 10:58:00 2011 +0000
+++ b/flys-artifacts/doc/conf/meta-data-user.xml	Thu Aug 04 15:05:02 2011 +0000
@@ -1,12 +1,53 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <dc:template xmlns:dc="http://www.intevation.org/2011/Datacage">
 <datacage>
-    <dc:comment>
-        User specific part
-        ------------------
-    </dc:comment>
-    <dc:if test="dc:contains($parameters, 'user-id')">
-        <dc:text>Current user id: ${user-id}</dc:text>
-    </dc:if>
+  <dc:comment>
+    User specific part
+    ------------------
+  </dc:comment>
+  <dc:if test="dc:contains($parameters, 'user-id')">
+    <dc:context connection="user">
+      <dc:statement>SELECT id as user_id FROM users WHERE gid = ${user-id}::uuid</dc:statement>
+      <dc:elements>
+        <dc:context>
+          <dc:statement>SELECT id AS collection_id FROM collections WHERE user_id = ${user_id}</dc:statement>
+          <dc:elements>
+            <dc:context>
+              <dc:statement>SELECT a.id AS a_id, a.state AS a_state, a.gid as a_gid FROM 
+                            collection_items ci JOIN artifacts a ON ci.artifact_id = a.id
+                            WHERE collection_id = ${collection_id} AND a.state = ${current-state-id} AND a.gid &lt;&gt; ${artifact-id}::uuid
+                            AND EXISTS (SELECT id FROM artifact_data WHERE artifact_id = a.id AND k = 'river' AND v = ${river})
+              </dc:statement>
+              <dc:comment> --- TODO: We only need the 'master' artifacts! --- </dc:comment>
+              <dc:elements>
+                <dc:choose>
+                  <dc:when test="$current-state-id = 'state.winfo.waterlevel'">
+                    <dc:context>
+                      <dc:statement>SELECT id AS out_id FROM outs WHERE artifact_id = ${a_id} AND name = 'longitudinal_section'</dc:statement>
+                      <dc:elements>
+                        <dc:context>
+                          <dc:statement>SELECT name AS facet_name, num as facet_num, description AS facet_description
+                                        FROM facets WHERE out_id = ${out_id} ORDER BY num ASC, name DESC
+                          </dc:statement>
+                          <dc:elements>
+                            <dc:element name="${facet_name}">
+                              <dc:attribute name="description" value="${facet_description}"/>
+                              <dc:attribute name="num" value="${facet_num}"/>
+                              <dc:attribute name="factory" value="TODO"/>
+                              <dc:attribute name="artifact-id" value="${a_gid}"/>
+                            </dc:element>
+                          </dc:elements>
+                        </dc:context>
+                      </dc:elements>
+                    </dc:context>
+                  </dc:when>
+                </dc:choose>
+              </dc:elements>
+            </dc:context>
+          </dc:elements>
+        </dc:context>
+      </dc:elements>
+    </dc:context>
+  </dc:if>
 </datacage>
 </dc:template>

http://dive4elements.wald.intevation.org