fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [9250] property: invoice: more on ACL based on dime


From: Sigurd Nes
Subject: [Fmsystem-commits] [9250] property: invoice: more on ACL based on dime
Date: Tue, 01 May 2012 15:40:38 +0000

Revision: 9250
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=9250
Author:   sigurdne
Date:     2012-05-01 15:40:37 +0000 (Tue, 01 May 2012)
Log Message:
-----------
property: invoice: more on ACL based on dime

Modified Paths:
--------------
    trunk/property/inc/class.uiwo_hour.inc.php
    trunk/property/inc/class.uiworkorder.inc.php
    trunk/property/js/portico/ajax_workorder_edit.js
    trunk/property/setup/phpgw_no.lang
    trunk/property/templates/base/workorder.xsl

Modified: trunk/property/inc/class.uiwo_hour.inc.php
===================================================================
--- trunk/property/inc/class.uiwo_hour.inc.php  2012-05-01 09:54:46 UTC (rev 
9249)
+++ trunk/property/inc/class.uiwo_hour.inc.php  2012-05-01 15:40:37 UTC (rev 
9250)
@@ -1445,11 +1445,17 @@
                        {
                                
if(isset($this->config->config_data['invoice_acl']) && 
$this->config->config_data['invoice_acl'] == 'dimb')
                                {
-                                       
if(!execMethod('property.boinvoice.get_approve_role', $project['ecodimb'] ? 
$project['ecodimb'] : $workorder['ecodimb']))
+                                       $approve_role = 
execMethod('property.boinvoice.check_role', $project['ecodimb'] ? 
$project['ecodimb'] : $workorder['ecodimb']);
+                                       if(!$approve_role['is_supervisor'] && ! 
$approve_role['budget_responsible'] && !$workorder['approved'])
                                        {
                                                phpgwapi_cache::message_set( 
lang('you are not approved for this dimb: %1', $project['ecodimb'] ? 
$project['ecodimb'] : $workorder['ecodimb'] ), 'error' );
                                                
$GLOBALS['phpgw']->redirect_link('/index.php',array('menuaction'=> 
'property.uiwo_hour.view', 'workorder_id'=> $workorder_id, 'from' => 
phpgw::get_var('from')));
                                        }
+                                       if(!$workorder['approved'])
+                                       {
+                                               phpgwapi_cache::message_set( 
lang('order is not approved'), 'error' );
+                                               
$GLOBALS['phpgw']->redirect_link('/index.php',array('menuaction'=> 
'property.uiwo_hour.view', 'workorder_id'=> $workorder_id, 'from' => 
phpgw::get_var('from')));
+                                       }
                                }
 
                                $_to = isset($workorder['mail_recipients'][0]) 
&& $workorder['mail_recipients'][0] ? implode(';', 
$workorder['mail_recipients']) : $to_email;
@@ -1880,11 +1886,17 @@
 
                        if(isset($this->config->config_data['invoice_acl']) && 
$this->config->config_data['invoice_acl'] == 'dimb')
                        {
-                               
if(!execMethod('property.boinvoice.get_approve_role', $project['ecodimb'] ? 
$project['ecodimb'] : $common_data['workorder']['ecodimb']))
+                               $approve_role = 
execMethod('property.boinvoice.check_role', $project['ecodimb'] ? 
$project['ecodimb'] : $common_data['workorder']['ecodimb']);
+                               if(!$approve_role['is_supervisor'] && ! 
$approve_role['budget_responsible'] && !$workorder['approved'])
                                {
-                                       phpgwapi_cache::message_set( lang('you 
are not approved for this dimb: %1', $project['ecodimb'] ? $project['ecodimb'] 
: $common_data['workorder']['ecodimb'] ), 'error' );
+                                       phpgwapi_cache::message_set( lang('you 
are not approved for this dimb: %1', $project['ecodimb'] ? $project['ecodimb'] 
: $workorder['ecodimb'] ), 'error' );
                                        
$GLOBALS['phpgw']->redirect_link('/index.php',array('menuaction'=> 
'property.uiwo_hour.view', 'workorder_id'=> $workorder_id, 'from' => 
phpgw::get_var('from')));
                                }
+                               if(!$workorder['approved'])
+                               {
+                                       phpgwapi_cache::message_set( 
lang('order is not approved'), 'error' );
+                                       
$GLOBALS['phpgw']->redirect_link('/index.php',array('menuaction'=> 
'property.uiwo_hour.view', 'workorder_id'=> $workorder_id, 'from' => 
phpgw::get_var('from')));
+                               }
                        }
 
                        $content = 
$this->_get_order_details($common_data['content'],   $show_cost);

Modified: trunk/property/inc/class.uiworkorder.inc.php
===================================================================
--- trunk/property/inc/class.uiworkorder.inc.php        2012-05-01 09:54:46 UTC 
(rev 9249)
+++ trunk/property/inc/class.uiworkorder.inc.php        2012-05-01 15:40:37 UTC 
(rev 9250)
@@ -971,11 +971,21 @@
 
                                if(isset($config->config_data['invoice_acl']) 
&& $config->config_data['invoice_acl'] == 'dimb')
                                {
-                                       
if(!execMethod('property.boinvoice.get_approve_role', $project['ecodimb'] ? 
$project['ecodimb'] : $values['ecodimb']))
+                                       $approve_role = 
execMethod('property.boinvoice.check_role', $project['ecodimb'] ? 
$project['ecodimb'] : $values['ecodimb']);
+                                       if(!$approve_role['is_janitor'] && 
!$approve_role['is_supervisor'] && ! $approve_role['budget_responsible'])
                                        {
                                                
$receipt['error'][]=array('msg'=>lang('you are not approved for this dimb: %1', 
$project['ecodimb'] ? $project['ecodimb'] : $values['ecodimb'] ));
                                                $error_id=true;
                                        }
+
+                                       if(isset($values['approved']) && 
$values['approved'] && (!isset($values['approved_orig']) || ! 
$values['approved_orig']))
+                                       {
+                                               
if(!$approve_role['is_supervisor'] && ! $approve_role['budget_responsible'])
+                                               {
+                                                       
$receipt['error'][]=array('msg'=>lang('you do not have permission to approve 
this order') );
+                                                       $error_id=true;
+                                               }
+                                       }
                                }
 
                                $insert_record = 
$GLOBALS['phpgw']->session->appsession('insert_record','property');

Modified: trunk/property/js/portico/ajax_workorder_edit.js
===================================================================
--- trunk/property/js/portico/ajax_workorder_edit.js    2012-05-01 09:54:46 UTC 
(rev 9249)
+++ trunk/property/js/portico/ajax_workorder_edit.js    2012-05-01 15:40:37 UTC 
(rev 9250)
@@ -2,7 +2,7 @@
 
        $("#workorder_edit").live("submit", function(e){
 
-               if( ! $("#workorder_id").val() )
+               if($("#lean").val() == 0)
                {
                        return;
                }

Modified: trunk/property/setup/phpgw_no.lang
===================================================================
--- trunk/property/setup/phpgw_no.lang  2012-05-01 09:54:46 UTC (rev 9249)
+++ trunk/property/setup/phpgw_no.lang  2012-05-01 15:40:37 UTC (rev 9250)
@@ -1151,6 +1151,7 @@
 order  property        no      Bestilling
 order approval revoked property        no      Bestillingsgodkjenning opphevet
 order approved property        no      Bestilling godkjent
+order is not approved  property        no      Bestilling er ikke godkjent
 order_dim1     property        no      Aktivitet
 order id       property        no      BestillingsNr
 order_id       property        no      BestillingsNr

Modified: trunk/property/templates/base/workorder.xsl
===================================================================
--- trunk/property/templates/base/workorder.xsl 2012-05-01 09:54:46 UTC (rev 
9249)
+++ trunk/property/templates/base/workorder.xsl 2012-05-01 15:40:37 UTC (rev 
9250)
@@ -89,7 +89,7 @@
                        </xsl:choose>
 
                        <div id="receipt"></div>
-
+                       <input type="hidden" id = "lean" name="lean" 
value="{lean}"/>
                        <xsl:choose>
                                <xsl:when test="value_workorder_id!='' and 
mode='edit' and lean = 0">
                                        <td>
@@ -295,7 +295,6 @@
                                                                                
</td>
                                                                                
<td>
                                                                                
        <xsl:value-of select="value_workorder_id"/>
-                                                                               
        <input type="hidden" id="workorder_id" name="test_for_new" 
value="{value_workorder_id}"/>
                                                                                
</td>
                                                                        </tr>
                                                                        
<xsl:choose>
@@ -389,6 +388,7 @@
                                                                                
        <xsl:value-of select="php:function('lang', 'approved')"/>
                                                                                
</td>
                                                                                
<td>
+                                                                               
        <input type="hidden" name="values[approved_orig]" 
value="{value_approved}"/>
                                                                                
        <input type="checkbox" name="values[approved]" value="1">
                                                                                
                <xsl:attribute name="title">
                                                                                
                        <xsl:value-of select="php:function('lang', 
'approved')"/>
@@ -667,9 +667,8 @@
                                                                                
        <table>
                                                                                
                <tr>
                                                                                
                        <td>
-                                                                               
                                <input type="hidden" id="notify_contact" 
name="notify_contact" value="" title="{$lang_contact_statustext}">
-                                                                               
                                </input>
-                                                                               
                                <input type="hidden" name="notify_contact_name" 
value="" onClick="notify_contact_lookup();" readonly="readonly" 
title="{$lang_contact_statustext}"/>
+                                                                               
                                <input type="hidden" id="notify_contact" 
name="notify_contact" value=""/>
+                                                                               
                                <input type="hidden" name="notify_contact_name" 
value=""/>
                                                                                
                        </td>
                                                                                
                </tr>
                                                                                
        </table>




reply via email to

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