fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [11266] more on logistic


From: Sigurd Nes
Subject: [Fmsystem-commits] [11266] more on logistic
Date: Tue, 13 Aug 2013 13:36:40 +0000

Revision: 11266
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11266
Author:   sigurdne
Date:     2013-08-13 13:36:38 +0000 (Tue, 13 Aug 2013)
Log Message:
-----------
more on logistic

Modified Paths:
--------------
    trunk/logistic/inc/class.uirequirement.inc.php
    trunk/logistic/inc/class.uirequirement_resource_allocation.inc.php
    trunk/logistic/js/logistic/requirement_overview.js

Modified: trunk/logistic/inc/class.uirequirement.inc.php
===================================================================
--- trunk/logistic/inc/class.uirequirement.inc.php      2013-08-13 11:26:34 UTC 
(rev 11265)
+++ trunk/logistic/inc/class.uirequirement.inc.php      2013-08-13 13:36:38 UTC 
(rev 11266)
@@ -40,7 +40,7 @@
        phpgw::import_class('phpgwapi.datetime');
        phpgw::import_class('phpgwapi.jquery');
 
-       class uirequirement extends phpgwapi_uicommon
+       class logistic_uirequirement extends phpgwapi_uicommon
        {
                private $so;
                private $so_requirement_value;
@@ -200,7 +200,7 @@
                                                $attrib_data = 
$custom->get('property', $loc_arr['location'], $cust_attribute_id);
 
                                                $_criterie = 
$attrib_data['input_text'];
-                                       
+
                                                
if(isset($attrib_data['choice']))
                                                {
                                                        foreach 
($attrib_data['choice'] as $_choice)
@@ -214,9 +214,9 @@
                                                }
                                                else 
if($requirement_value->get_value())
                                                {
-                                                       $_criterie .= 
"::{$requirement_value->get_value()}";                                    
+                                                       $_criterie .= 
"::{$requirement_value->get_value()}";
                                                }
-                                       
+
                                                $criterias[] = $_criterie;
 
 //                                             $operator       = 
$requirement_value->get_operator();
@@ -231,29 +231,29 @@
                                {
                                        $_checked = 'checked="checked"';
                                }
-                               
+
                                $num_required = $entry['no_of_items'];
          
                                $num_allocated = 
$this->so_resource_allocation->count_allocated($entry['id']);
-                               
+
                                $entry['allocated'] = $num_allocated;
                                $entry['select'] = "<input 
class=\"select_line\" type =\"radio\" {$_checked} name=\"values[select_line]\" 
value=\"{$entry['id']}\">";
-                                       
+
                                if($num_allocated == $num_required)
                                {
                                        $entry['status'] = "OK";
-                                       
+
                                        $entry['alloc_link'] = "<span 
class='btn-sm cancel'>Tildel ressurser</span>";
                                }
                                else
                                {
                                        $num_remaining = $num_required - 
$num_allocated;
                                        $entry['status'] = "MANGLER (" . 
$num_remaining . ")";
-                                       
+
                                        $href = self::link(array('menuaction' 
=> 'logistic.uirequirement_resource_allocation.edit', 'requirement_id' => 
$entry['id']));
                                        $entry['alloc_link'] = "<a 
class=\"btn-sm alloc\" href=\"{$href}\">Tildel ressurser</a>";
                                }
-                               
+
                                //$href = self::link(array('menuaction' => 
'logistic.uirequirement.edit', 'id' => $entry['id']));
                                $href = 
"javascript:load_requirement_edit_id({$entry['id']});";
                                $entry['edit_requirement_link'] = "<a 
class=\"btn-sm alloc\" href=\"{$href}\">Endre behov</a>";
@@ -292,7 +292,7 @@
                        $activity_id = phpgw::get_var('activity_id');
 
                        $activity = 
$this->so_activity->get_single($activity_id);
-                       
+
                        $data = array(
                                'datatable_name'        => lang('requirement'),
                                'activity'      => $activity,
@@ -406,9 +406,9 @@
                                }
 
                                $activity = 
$this->so_activity->get_single($requirement->get_activity_id());
-                               
+
                                $location_info = 
$GLOBALS['phpgw']->locations->get_name($requirement->get_location_id());
-                               
+
                                $tabs = $this->make_tab_menu($requirement_id);
 
                                $data = array
@@ -464,7 +464,7 @@
                                        $project = 
$this->so_project->get_single( $activity->get_project_id() );
                                }
                        }
-               
+
                        $accounts = 
$GLOBALS['phpgw']->acl->get_user_list_right(PHPGW_ACL_READ, 'run', 'logistic');
 
                        $entity_list = 
execMethod('property.soadmin_entity.read', array('allrows' => true));
@@ -531,12 +531,12 @@
 
                        
self::render_template_xsl(array('requirement/requirement_tabs', 
'requirement/requirement_item'), $data);
                }
-               
+
                public function save()
                {
                        $requirement_id = phpgw::get_var('id', 'int');
                        $new_location_id = phpgw::get_var('location_id');
-                       
+
                        if( $nonavbar   = phpgw::get_var('nonavbar', 'bool'))
                        {
                                $GLOBALS['phpgw_info']['flags']['nonavbar'] = 
$nonavbar;
@@ -547,7 +547,7 @@
                        if(!$this->read)
                        {
                                $GLOBALS['phpgw']->redirect_link('/index.php', 
array('menuaction' => 'logistic.uirequirement.view', 'id' => $requirement_id, 
'nonavbar' => $nonavbar));
-                               return false; // in case redirect fail;         
        
+                               return false; // in case redirect fail;
                        }
 
                        if ($requirement_id)
@@ -559,23 +559,23 @@
                        {
                                $requirement = new logistic_requirement();
                        }
-                       
+
                        $requirement->populate();
-                       
+
                        if( $requirement->validate() )
                        {
 //                             $db_requirement = $this->so->get_db();
 //                             $db_requirement->transaction_begin();
                                $GLOBALS['phpgw']->db->transaction_begin();
                                $requirement_id = 
$this->so->store($requirement);
-                               
+
                                $status_delete_values = true;
                                if( ($old_location_id > 0) && 
(is_numeric($old_location_id) ) && ($old_location_id != $new_location_id) )
                                {
                                        $status_delete_values = 
$this->so_requirement_value->delete_values( $requirement_id );
-                                       $status_delete_resources = 
$this->so_resource_allocation->delete_resources( $requirement_id );  
+                                       $status_delete_resources = 
$this->so_resource_allocation->delete_resources( $requirement_id );
                                }
-                               
+
                                if( ($requirement_id > 0) && 
($status_delete_values) && ($status_delete_resources) )
                                {
 //                                     $db_requirement->transaction_commit();
@@ -585,8 +585,8 @@
                                {
                                        
$GLOBALS['phpgw']->db->transaction_commit();
 //                                     $db_requirement->transaction_abort();
-                               }                       
-                               
+                               }
+
                                $GLOBALS['phpgw']->redirect_link('/index.php', 
array('menuaction' => 'logistic.uirequirement.view', 'id' => $requirement_id, 
'nonavbar' => $nonavbar));
                        }
                        else
@@ -607,7 +607,7 @@
                        try
                        {
                                $this->so_requirement_value->delete_values( 
$requirement_id );
-                               
$this->so_resource_allocation->delete_resources( $requirement_id );     
+                               
$this->so_resource_allocation->delete_resources( $requirement_id );
                                $this->so->delete( $requirement_id );
                        }
                        catch (Exception $e)
@@ -615,7 +615,7 @@
                                if($e)
                                {
                                        
$GLOBALS['phpgw']->db->transaction_abort();
-       
+
                                        $GLOBALS['phpgw']->log->error(array(
                                                'text'  => 
'uirequirement::delete() : error when trying to delete requirement: %1',
                                                'p1'    => $e->getMessage(),
@@ -630,7 +630,7 @@
                        }
                        $GLOBALS['phpgw']->db->transaction_commit();
                }
-               
+
                public function add_requirement_values()
                {
                        $requirement_id = phpgw::get_var('requirement_id');
@@ -819,7 +819,7 @@
                        $tabs = $this->make_tab_menu($requirement_id);
 
                        $activity = $this->so_activity->get_single( 
$requirement->get_activity_id() ); 
-                       
+
                        $data = array
                        (
                                'tabs'                                          
                                                        => 
$GLOBALS['phpgw']->common->create_tabs($tabs, 1),
@@ -833,8 +833,8 @@
                }
 
                public function save_requirement_values()
-               {               
-                               $requirement_id = 
phpgw::get_var('requirement_id');     
+               {
+                               $requirement_id = 
phpgw::get_var('requirement_id');
                                $attributes_array = array();
                                $attributes_array = 
phpgw::get_var('cust_attributes');
 
@@ -859,8 +859,8 @@
                                }
 
                                $GLOBALS['phpgw']->redirect_link('/index.php', 
array('menuaction' => 'logistic.uirequirement.view_requirement_values', 
'requirement_id' => $requirement_id, 'nonavbar' => $this->nonavbar));
-               }               
-               
+               }
+
                public function get_custom_attributes($location_id, 
$activity_id)
                {
                        if($location_id == "")
@@ -905,7 +905,24 @@
 
                public function assign_job()
                {
-               
+                       $assign_requirement = json_decode(str_replace('&quot;', 
'"', phpgw::get_var('assign_requirement')));
+
+                       if(!$assign_requirement || 
!is_array($assign_requirement))
+                       {
+                               echo 'Nothing to do';
+                               return;
+                       }
+
+                       foreach ($assign_requirement as $assign_entry)
+                       {
+                               $assign_arr = explode('_', $assign_entry);
+                               $allocation_id = $assign_arr[0];
+                               $location_id = $assign_arr[1];
+                               $item_id = $assign_arr[2];
+                               $inventory_id = (int)$assign_arr[3];
+                       }
+
+                       echo 'logistic_uirequirement::assign_job()';
                }
 
                private function make_tab_menu($requirement_id)

Modified: trunk/logistic/inc/class.uirequirement_resource_allocation.inc.php
===================================================================
--- trunk/logistic/inc/class.uirequirement_resource_allocation.inc.php  
2013-08-13 11:26:34 UTC (rev 11265)
+++ trunk/logistic/inc/class.uirequirement_resource_allocation.inc.php  
2013-08-13 13:36:38 UTC (rev 11266)
@@ -53,6 +53,11 @@
                private $so_requirement;
                private $so_requirement_value;
                private $so;
+           private $read;
+           private $add;
+           private $edit;
+           private $delete;
+           private $manage;
 
                public $public_functions = array(
                        'query' => true,
@@ -90,6 +95,12 @@
                        $this->allrows                                          
        = $this->bo->allrows;
                        $this->lookup                                           
                = $this->bo->lookup;
                        $this->location_code                            = 
$this->bo->location_code;
+
+                       $this->read    = 
$GLOBALS['phpgw']->acl->check('.activity', PHPGW_ACL_READ, 'logistic');//1 
+                       $this->add     = 
$GLOBALS['phpgw']->acl->check('.activity', PHPGW_ACL_ADD, 'logistic');//2 
+                       $this->edit    = 
$GLOBALS['phpgw']->acl->check('.activity', PHPGW_ACL_EDIT, 'logistic');//4 
+                       $this->delete  = 
$GLOBALS['phpgw']->acl->check('.activity', PHPGW_ACL_DELETE, 'logistic');//8 
+                       $this->manage  = 
$GLOBALS['phpgw']->acl->check('.activity', 16, 'logistic');//16
                }
 
                public function index()
@@ -277,11 +288,14 @@
                                                                                
                                                        'phpgw_return_as' => 
'json')
                                                                                
                                                );
 
-                                       $requirement['delete_link'] = "<a 
class=\"btn-sm delete\" href=\"{$delete_href}\">{$lang_delete}</a>";
+                                       $delete_href = 
"javascript:load_delete_allocation({$requirement['id']});";
 
+                                       $requirement['delete_link'] = "<a 
class=\"btn-sm \" href=\"{$delete_href}\">{$lang_delete}</a>";
+
                                        $assign_href = 
"javascript:load_assign_task(document.assign_task, {$requirement['id']});";
 
-                                       $requirement['assign_job'] = "<input 
name='assign_requirement' type='checkbox' 
value='{$requirement['id']}_{$requirement['location_id']}_{$requirement['resource_id']}'
 /><a class=\"btn-sm assign\" href=\"{$assign_href}\">{$lang_assign}</a>";
+                                       $requirement['assign_job'] = "<input 
name='assign_requirement' type='checkbox' 
value='{$requirement['id']}_{$requirement['location_id']}_{$requirement['resource_id']}_{$requirement['inventory_id']}'
 />"
+                                        . "<a class=\"btn-sm assign\" 
href=\"{$assign_href}\">{$lang_assign}</a>";
 
                                        $rows[] = $requirement;
                                }
@@ -571,6 +585,11 @@
 
                public function delete()
                {
+                       if(!$this->delete)
+                       {
+                               return array( "status" => "not_deleted" );      
                
+                       }
+
                        $resource_allocation_id = phpgw::get_var('id');
 
                        $status = $this->so->delete($resource_allocation_id);

Modified: trunk/logistic/js/logistic/requirement_overview.js
===================================================================
--- trunk/logistic/js/logistic/requirement_overview.js  2013-08-13 11:26:34 UTC 
(rev 11265)
+++ trunk/logistic/js/logistic/requirement_overview.js  2013-08-13 13:36:38 UTC 
(rev 11266)
@@ -32,6 +32,27 @@
        }
 
 
+       function load_delete_allocation( id ){
+               confirm_msg = 'Slette allokering?';
+               if(confirm(confirm_msg))
+               {
+                       var oArgs = {menuaction: 
'logistic.uirequirement_resource_allocation.delete', id:id};
+                       var requestUrl = phpGWLink('index.php', oArgs, true);
+
+                       var callback =  {       success: function(o){
+                                                                       
//message_delete = YAHOO.lang.JSON.parse(o.responseText);
+                                                                       
//console.log(message_delete);
+                                                                       
YAHOO.portico.updateinlineTableHelper('requirement-container');
+                                                                       
YAHOO.portico.updateinlineTableHelper('allocation-container');
+                                                                       },
+                                                       failure: 
function(o){window.alert('failed')},
+                                                       timeout: 10000
+                                               };
+                       var request = YAHOO.util.Connect.asyncRequest('POST', 
requestUrl, callback);
+               }
+       }
+
+
        function load_assign_task(frm, id ){
 
                var assign_requirement = new Array();
@@ -72,15 +93,5 @@
 
        function closeJS_local_allocation(requirement_id)
        {
-
                        
YAHOO.portico.updateinlineTableHelper('allocation-container');
-/*
-                       var oArgs = {
-                                       
menuaction:'logistic.uirequirement_resource_allocation.index',
-                                       requirement_id: requirement_id,
-                                       type: "requirement_id"
-                               };
-                               
-                               var requestUrl = phpGWLink('index.php', oArgs, 
true);
-*/
        }




reply via email to

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