Prevents choosing first level job terms (too generic). Prevents opening last level...
authorPascal Corpet <pascal.corpet@m4x.org>
Wed, 20 Oct 2010 11:19:57 +0000 (13:19 +0200)
committerPascal Corpet <pascal.corpet@m4x.org>
Wed, 20 Oct 2010 11:19:57 +0000 (13:19 +0200)
classes/jobterms.php
templates/include/jobterms.branch.tpl

index 460b74e..c791865 100644 (file)
@@ -45,9 +45,10 @@ class JobTerms {
         } else {
             $count = $join = '';
         }
-        return XDB::iterator('SELECT  e.jtid, e.name, e.full_name'.$count.'
+        return XDB::iterator('SELECT  e.jtid, e.name, e.full_name'.$count.', IF(rf.jtid_1 IS NULL, 1, 0) AS leaf
                                 FROM  profile_job_term_enum AS e
                           INNER JOIN  profile_job_term_relation AS r ON (r.jtid_2 = e.jtid)'.$join.'
+                          LEFT JOIN   profile_job_term_relation AS rf ON (rf.jtid_1 = e.jtid AND rf.computed = "original")
                                WHERE  r.jtid_1 = {?} AND r.computed = "original"
                             GROUP BY  e.jtid
                             ORDER BY  e.name',
@@ -78,6 +79,7 @@ class JobTerms {
             $page->assign('filter', 'mentor');
             break;
         }
+        $page->assign('jtid', Env::v('jtid'));
         $page->assign('attrfunc', Env::v('attrfunc'));
         $page->assign('treeid', Env::v('treeid'));
     }
index 7e19811..53fce45 100644 (file)
     {ldelim}
       "title" : "{$term.name|replace:'"':'\\"'}{if t($filter)} ({$term.nb} {$filter}{if $term.nb > 1}s{/if}){/if}",
       "attr" : {ldelim}
-        {if $attrfunc}"href" : "javascript:{$attrfunc}('{$treeid}','{$term.jtid}',\"{$term.full_name|replace:'"':'\\\\\\"'}\")",{/if}
+        {if !$jtid}"onclick" : "return false",
+        {elseif $attrfunc}"href" : "javascript:{$attrfunc}('{$treeid}','{$term.jtid}',\"{$term.full_name|replace:'"':'\\\\\\"'}\")",{/if}
         "title" : "{$term.full_name|replace:'"':'\\"'}"
       {rdelim}
     {rdelim},
     "attr" : {ldelim} "id" : "job_terms_tree_{$treeid}_{$term.jtid}" {rdelim},
-    "state": "closed"
+    {if !$term.leaf}
+      "state": "closed"
+    {/if}
   {rdelim}
 {/iterate}
 ]