fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [10426] logistic: breadcrumb


From: Sigurd Nes
Subject: [Fmsystem-commits] [10426] logistic: breadcrumb
Date: Fri, 02 Nov 2012 09:22:16 +0000

Revision: 10426
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=10426
Author:   sigurdne
Date:     2012-11-02 09:22:15 +0000 (Fri, 02 Nov 2012)
Log Message:
-----------
logistic: breadcrumb

Modified Paths:
--------------
    trunk/logistic/inc/class.soactivity.inc.php
    trunk/logistic/inc/class.uiactivity.inc.php
    trunk/logistic/templates/base/activity/activity_tabs.xsl
    trunk/logistic/templates/base/activity/add_activity_item.xsl

Modified: trunk/logistic/inc/class.soactivity.inc.php
===================================================================
--- trunk/logistic/inc/class.soactivity.inc.php 2012-11-02 09:13:14 UTC (rev 
10425)
+++ trunk/logistic/inc/class.soactivity.inc.php 2012-11-02 09:22:15 UTC (rev 
10426)
@@ -281,7 +281,13 @@
 
                        $parent_id = $this->db->f('parent_activity_id');
                        $name = $this->db->f('name', true);
-                       $path = array($name);
+                       $path = array();
+                       $path[] = array
+                       (
+                               'id'    => $node,
+                               'name'  => $name
+                       );
+
                        if ($parent_id)
                        {
                                $path = 
array_merge($this->get_path($parent_id), $path);

Modified: trunk/logistic/inc/class.uiactivity.inc.php
===================================================================
--- trunk/logistic/inc/class.uiactivity.inc.php 2012-11-02 09:13:14 UTC (rev 
10425)
+++ trunk/logistic/inc/class.uiactivity.inc.php 2012-11-02 09:22:15 UTC (rev 
10426)
@@ -402,7 +402,8 @@
                                'responsible_users' => $accounts,
                                'activities' => $activities,
                                'activity' => $activity,
-                               'editable' => true
+                               'editable' => true,
+                               'breadcrumb' => $this->_get_breadcrumb( 
$activity_id, 'logistic.uiactivity.edit', 'id')
                        );
                        
                        if($parent_activity)
@@ -422,7 +423,7 @@
                
                public function view()
                {
-                       $activity_id = phpgw::get_var('id');
+                       $activity_id = phpgw::get_var('id', 'int');
 
                        if ($activity_id && is_numeric($activity_id))
                        {
@@ -431,15 +432,17 @@
                                $responsible_user = 
$this->so->get_responsible_user( $activity->get_responsible_user_id() );
 
                                $activity->set_responsible_user_name( 
$responsible_user );
+                               $breadcrumb = $this->_get_breadcrumb( 
$activity_id, 'logistic.uiactivity.view', 'id');
                        }
 
                        $tabs = $this->make_tab_menu($activity_id);
                        
                        $data = array
                        (
-                               'tabs'           => 
$GLOBALS['phpgw']->common->create_tabs($tabs, 0),
-                               'view'           => 'activity_details',
-                               'activity' => $activity
+                               'tabs'                  => 
$GLOBALS['phpgw']->common->create_tabs($tabs, 0),
+                               'view'                  => 'activity_details',
+                               'activity'              => $activity,
+                               'breadcrumb'    => $breadcrumb
                        );
 
                        if($activity->get_parent_id() > 0)
@@ -513,7 +516,6 @@
                public function view_resource_allocation()
                {
                        $activity_id = phpgw::get_var('activity_id');
-
                        $activity = $this->so->get_single($activity_id);
                        
                        $data = array(
@@ -607,6 +609,7 @@
                        $data['tabs']                   = 
$GLOBALS['phpgw']->common->create_tabs($tabs, 1);
                        $data['view']           = 'requirement_overview';
                        $data['activity'] = $activity;
+                       $data['breadcrumb'] = $this->_get_breadcrumb( 
$activity_id, 'logistic.uiactivity.view_resource_allocation', 'activity_id');
                        
                        self::add_javascript('logistic', 'logistic', 
'activity.js');
                        self::add_javascript('logistic', 'logistic', 
'resource_allocation.js');
@@ -659,4 +662,23 @@
 
                        return $tabs;
                }
+
+               private function _get_breadcrumb($activity_id, $menuaction, 
$id_name = 'id')
+               {
+                       if(!$activity_id)
+                       {
+                               return;
+                       }
+                       $path = $this->so->get_path($activity_id);
+                       $level = count($path) - 1;
+                       $breadcrumb_array = array();
+
+                       for ($i=0;$i<$level;$i++)
+                       {
+                               $_link = self::link(array('menuaction' => 
$menuaction, $id_name => $path[$i]['id']));
+                               $breadcrumb_array[] = "<a 
href=\"{$_link}\">{$path[$i]['name']}</a>";
+                       }
+                       $breadcrumb_array[] = $path[$level]['name'];
+                       return implode(' > ', $breadcrumb_array);
+               }
        }

Modified: trunk/logistic/templates/base/activity/activity_tabs.xsl
===================================================================
--- trunk/logistic/templates/base/activity/activity_tabs.xsl    2012-11-02 
09:13:14 UTC (rev 10425)
+++ trunk/logistic/templates/base/activity/activity_tabs.xsl    2012-11-02 
09:22:15 UTC (rev 10426)
@@ -4,10 +4,12 @@
 <xsl:template match="data" xmlns:php="http://php.net/xsl";>
 <div class="yui-navset yui-navset-top" id="activity-tabview">
 
+       <xsl:value-of disable-output-escaping="yes" select="breadcrumb" />      
+
        <xsl:choose>
                <xsl:when test="view = 'activity_details'">
                        <xsl:call-template name="yui_phpgw_i18n"/>
-               
+
                        <xsl:choose>
                                <xsl:when test="activity/id != '' or 
activity/id != 0">
                                        <h1 style="float:left;"> 

Modified: trunk/logistic/templates/base/activity/add_activity_item.xsl
===================================================================
--- trunk/logistic/templates/base/activity/add_activity_item.xsl        
2012-11-02 09:13:14 UTC (rev 10425)
+++ trunk/logistic/templates/base/activity/add_activity_item.xsl        
2012-11-02 09:22:15 UTC (rev 10426)
@@ -3,7 +3,9 @@
 
 <xsl:call-template name="yui_phpgw_i18n"/>
 <div class="yui-navset yui-navset-top">
-               
+
+       <xsl:value-of disable-output-escaping="yes" select="breadcrumb" />      
                
+
        <xsl:choose>
                <xsl:when test="parent_activity/id &gt; 0">
                        <h1> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]