fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [11078] Merge 11074:11077 from trunk


From: Sigurd Nes
Subject: [Fmsystem-commits] [11078] Merge 11074:11077 from trunk
Date: Thu, 25 Apr 2013 08:54:16 +0000

Revision: 11078
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11078
Author:   sigurdne
Date:     2013-04-25 08:54:16 +0000 (Thu, 25 Apr 2013)
Log Message:
-----------
Merge 11074:11077 from trunk

Modified Paths:
--------------
    
branches/Version-1_0-branch/logistic/inc/class.sorequirement_resource_allocation.inc.php
    
branches/Version-1_0-branch/logistic/inc/class.uirequirement_resource_allocation.inc.php
    
branches/Version-1_0-branch/logistic/inc/model/class.requirement_resource_allocation.inc.php
    
branches/Version-1_0-branch/logistic/templates/base/allocation/book_resources.xsl
    branches/Version-1_0-branch/property/inc/class.hook_helper.inc.php
    branches/Version-1_0-branch/property/setup/setup.inc.php
    branches/Version-1_0-branch/property/templates/base/attributes_form.xsl

Property Changed:
----------------
    branches/Version-1_0-branch/


Property changes on: branches/Version-1_0-branch
___________________________________________________________________
Modified: svn:mergeinfo
   - 
/trunk:6439-6441,6443,6445-6447,6449-6464,6466-6468,6470-6474,6476-6477,6479-6480,6483-6488,6490-6491,6493-6494,6496-6501,6503-6504,6506,6508,6510-6511,6513,6515-6516,6518,6520-6524,6526-6528,6533-6534,6536-6541,6543-6565,6567,6569,6571-6576,6578,6580-6586,6588-6596,6598-6600,6602-6604,6606-6607,6609-6611,6613-6625,6629-6639,6641-6643,6645-6646,6648,6650-6654,6656-6659,6661-6663,6665-6666,6668-6669,6672-6673,6675,6677-6678,6680,6682-6686,6688-6717,6719,6721-6722,6724-6728,6730,6732-6734,6736-6739,6741,6743,6745-6746,6748-6756,6758-6762,6764,6766-6788,6790,6792-6798,6800-6814,6816-6819,6821-6822,6824-6826,6828-6837,6839,6841,6843-6849,6851,6853-6869,6871-6874,6876-6877,6879,6881,6883,6885-6886,6888-6893,6895-6897,6899-6901,6903,6905-6907,6909,6911-6929,6931-6936,6938-6947,6949,6951,6953,6955-6956,6958-6959,6961-6968,6970-6971,6973-6974,6976-6978,6980,6982-7017,7019-7025,7027-7035,7037-7039,7041-7045,7047-7055,7057,7059-7065,7067-7069,7071,7073,7075-7076,7078,7080-7081,7083,7085,7087,7089-7097,7099-7102,7104-7105,7107-7111,7113-7120,7122-7124,7126-7129,7131,7133-7141,7143,7145-7146,7148-7150,7152-7153,7155-7158,7160-7164,7166-7167,7169-7170,7172,7174,7176,7178,7180-7181,7183,7185,7187-7188,7190,7192-7196,7198-7199,7201-7203,7205,7207,7209-7210,7212,7214,7216-7217,7219-7222,7224-7226,7228-7229,7231,7233-7234,7236-7238,7240-7241,7243-7244,7246,7248,7250,7252-7256,7258-7259,7261-7264,7266-7273,7275-7279,7281-7332,7334-7338,7340-7348,7350,7352-7353,7355-7361,7363-7366,7368-7370,7372,7374,7376,7378,7380-7386,7388-7400,7402,7404-7433,7435-7439,7441-7446,7448-7458,7460-7469,7471-7483,7485-7487,7489-7490,7492,7494,7496-7497,7499,7501-7502,7504,7506-7507,7509-7511,7513-7517,7519-7521,7523,7525,7527-7529,7531,7533,7535-7538,7540-7542,7544-7549,7551-7552,7554-7561,7563,7565,7567-7573,7575-7578,7580-7584,7586-7591,7593-7624,7627-7636,7638-7656,7658-7718,7720-7732,7734,7736,7738-7750,7754-7759,7761-7767,7769-7780,7782,7784-7809,7811-7812,7814-7835,7837-7847,7849-7887,7889-7895,7897,7899,7901,7903-7905,7907-7921,7923-7925,7927-7933,7935,7937-7952,7954-7968,7970-7974,7976,7978-7979,7981-7982,7984-7988,7990-7992,7994-8041,8043-8066,8068-8087,8089,8091-8108,8110-8124,8126-8129,8131,8133-8150,8152-8154,8156-8162,8164-8167,8169-8170,8172-8179,8181,8183-8196,8198-8207,8209-8211,8213-8214,8216-8217,8219-8220,8222,8224-8225,8227-8247,8249,8251,8253-8282,8284-8352,8354-8368,8370-8396,8398-8430,8432,8434-8440,8442-8445,8447-8453,8455-8456,8458,8460,8462-8464,8466-8473,8475-8479,8481,8483-8501,8503-8523,8525,8527-8531,8533,8535-8536,8538-8550,8552-8554,8556-8557,8559-8579,8581-8587,8589,8591-8592,8594-8595,8597-8601,8603-8610,8612-8613,8615,8617,8619-8645,8647-8650,8652-8661,8663-8666,8668-8669,8671-8683,8685-8691,8693-8730,8732-8737,8739,8741-8767,8769,8771-8772,8774,8776-8797,8799-8812,8814-8819,8821,8823-8833,8835-8837,8839,8841,8843-8849,8852-8858,8860-8867,8869-8870,8872,8874-8877,8879,8881,8883-8888,8890,8892-8901,8903-8911,8913-8917,8920-8923,8925-8933,8935-8938,8940-8943,8945,8947-8948,8950,8952-8953,8955-8962,8964,8966,8968-8970,8972-8975,8977-8983,8985-8993,8995-9001,9003,9005,9007,9009,9011-9019,9021-9023,9025,9027-9028,9030-9044,9046-9047,9049-9050,9052-9056,9058-9059,9061,9063-9064,9066-9068,9071-9092,9094-9112,9114-9117,9119,9121-9160,9162-9166,9169-9207,9209-9211,9213-9215,9217,9219,9221-9253,9255,9257,9259-9260,9262,9264-9269,9271-9273,9275,9277-9278,9280,9282-9283,9285-9289,9291-9299,9301-9310,9312-9313,9315-9320,9322-9324,9326-9338,9340-9342,9344,9346-9348,9350-9358,9360-9362,9364-9366,9368-9374,9376-9382,9384,9386,9388-9390,9392-9396,9398-9402,9404-9410,9412,9414,9416-9417,9419-9425,9427,9429-9430,9432,9434-9463,9465-9502,9504-9506,9508-9521,9523-9526,9528,9530-9537,9539,9541-9551,9553,9555-9556,9558-9578,9580-9581,9583,9585,9587,9589,9591-9624,9626-9655,9657-9700,9702-9726,9728-9729,9731-9749,9751,9753-9754,9756-9832,9834-9836,9838-9839,9841-9846,9848-9850,9852-9858,9860-9863,9865,9867,9869-9871,9873-9893,9895,9897-9912,9914-9919,9921-9928,9930-9952,9954,9956,9958-9963,9965-9993,9995-9997,9999-10001,10003-10004,10006-10007,10009-10012,10014-10031,10033-10073,10075-10107,10109-10165,10167-10210,10222-10226,10228-10311,10313-10378,10380,10382,10384-10393,10395-10478,10480-10482,10484-10494,10496-10503,10505,10507,10509-10521,10523,10525-10528,10530-10540,10542-10543,10545-10568,10570-10584,10586-10590,10592-10594,10596,10598-10599,10601-10611,10613,10615,10617-10626,10628-10636,10638,10640-10654,10656-10658,10660,10662-10672,10674,10676-10682,10684,10686,10688-10690,10692-10694,10696-10697,10699-10701,10703,10705-10706,10708-10724,10726-10731,10734,10736-10748,10750-10796,10798-10939,10941,10943,10945,10947-10953,10955,10957-10961,10963,10965-10966,10968-11001,11003-11030,11032-11034,11036,11038,11040,11042-11053,11055-11059,11061-11062,11064-11068,11070-11073
   + 
/trunk:6439-6441,6443,6445-6447,6449-6464,6466-6468,6470-6474,6476-6477,6479-6480,6483-6488,6490-6491,6493-6494,6496-6501,6503-6504,6506,6508,6510-6511,6513,6515-6516,6518,6520-6524,6526-6528,6533-6534,6536-6541,6543-6565,6567,6569,6571-6576,6578,6580-6586,6588-6596,6598-6600,6602-6604,6606-6607,6609-6611,6613-6625,6629-6639,6641-6643,6645-6646,6648,6650-6654,6656-6659,6661-6663,6665-6666,6668-6669,6672-6673,6675,6677-6678,6680,6682-6686,6688-6717,6719,6721-6722,6724-6728,6730,6732-6734,6736-6739,6741,6743,6745-6746,6748-6756,6758-6762,6764,6766-6788,6790,6792-6798,6800-6814,6816-6819,6821-6822,6824-6826,6828-6837,6839,6841,6843-6849,6851,6853-6869,6871-6874,6876-6877,6879,6881,6883,6885-6886,6888-6893,6895-6897,6899-6901,6903,6905-6907,6909,6911-6929,6931-6936,6938-6947,6949,6951,6953,6955-6956,6958-6959,6961-6968,6970-6971,6973-6974,6976-6978,6980,6982-7017,7019-7025,7027-7035,7037-7039,7041-7045,7047-7055,7057,7059-7065,7067-7069,7071,7073,7075-7076,7078,7080-7081,7083,7085,7087,7089-7097,7099-7102,7104-7105,7107-7111,7113-7120,7122-7124,7126-7129,7131,7133-7141,7143,7145-7146,7148-7150,7152-7153,7155-7158,7160-7164,7166-7167,7169-7170,7172,7174,7176,7178,7180-7181,7183,7185,7187-7188,7190,7192-7196,7198-7199,7201-7203,7205,7207,7209-7210,7212,7214,7216-7217,7219-7222,7224-7226,7228-7229,7231,7233-7234,7236-7238,7240-7241,7243-7244,7246,7248,7250,7252-7256,7258-7259,7261-7264,7266-7273,7275-7279,7281-7332,7334-7338,7340-7348,7350,7352-7353,7355-7361,7363-7366,7368-7370,7372,7374,7376,7378,7380-7386,7388-7400,7402,7404-7433,7435-7439,7441-7446,7448-7458,7460-7469,7471-7483,7485-7487,7489-7490,7492,7494,7496-7497,7499,7501-7502,7504,7506-7507,7509-7511,7513-7517,7519-7521,7523,7525,7527-7529,7531,7533,7535-7538,7540-7542,7544-7549,7551-7552,7554-7561,7563,7565,7567-7573,7575-7578,7580-7584,7586-7591,7593-7624,7627-7636,7638-7656,7658-7718,7720-7732,7734,7736,7738-7750,7754-7759,7761-7767,7769-7780,7782,7784-7809,7811-7812,7814-7835,7837-7847,7849-7887,7889-7895,7897,7899,7901,7903-7905,7907-7921,7923-7925,7927-7933,7935,7937-7952,7954-7968,7970-7974,7976,7978-7979,7981-7982,7984-7988,7990-7992,7994-8041,8043-8066,8068-8087,8089,8091-8108,8110-8124,8126-8129,8131,8133-8150,8152-8154,8156-8162,8164-8167,8169-8170,8172-8179,8181,8183-8196,8198-8207,8209-8211,8213-8214,8216-8217,8219-8220,8222,8224-8225,8227-8247,8249,8251,8253-8282,8284-8352,8354-8368,8370-8396,8398-8430,8432,8434-8440,8442-8445,8447-8453,8455-8456,8458,8460,8462-8464,8466-8473,8475-8479,8481,8483-8501,8503-8523,8525,8527-8531,8533,8535-8536,8538-8550,8552-8554,8556-8557,8559-8579,8581-8587,8589,8591-8592,8594-8595,8597-8601,8603-8610,8612-8613,8615,8617,8619-8645,8647-8650,8652-8661,8663-8666,8668-8669,8671-8683,8685-8691,8693-8730,8732-8737,8739,8741-8767,8769,8771-8772,8774,8776-8797,8799-8812,8814-8819,8821,8823-8833,8835-8837,8839,8841,8843-8849,8852-8858,8860-8867,8869-8870,8872,8874-8877,8879,8881,8883-8888,8890,8892-8901,8903-8911,8913-8917,8920-8923,8925-8933,8935-8938,8940-8943,8945,8947-8948,8950,8952-8953,8955-8962,8964,8966,8968-8970,8972-8975,8977-8983,8985-8993,8995-9001,9003,9005,9007,9009,9011-9019,9021-9023,9025,9027-9028,9030-9044,9046-9047,9049-9050,9052-9056,9058-9059,9061,9063-9064,9066-9068,9071-9092,9094-9112,9114-9117,9119,9121-9160,9162-9166,9169-9207,9209-9211,9213-9215,9217,9219,9221-9253,9255,9257,9259-9260,9262,9264-9269,9271-9273,9275,9277-9278,9280,9282-9283,9285-9289,9291-9299,9301-9310,9312-9313,9315-9320,9322-9324,9326-9338,9340-9342,9344,9346-9348,9350-9358,9360-9362,9364-9366,9368-9374,9376-9382,9384,9386,9388-9390,9392-9396,9398-9402,9404-9410,9412,9414,9416-9417,9419-9425,9427,9429-9430,9432,9434-9463,9465-9502,9504-9506,9508-9521,9523-9526,9528,9530-9537,9539,9541-9551,9553,9555-9556,9558-9578,9580-9581,9583,9585,9587,9589,9591-9624,9626-9655,9657-9700,9702-9726,9728-9729,9731-9749,9751,9753-9754,9756-9832,9834-9836,9838-9839,9841-9846,9848-9850,9852-9858,9860-9863,9865,9867,9869-9871,9873-9893,9895,9897-9912,9914-9919,9921-9928,9930-9952,9954,9956,9958-9963,9965-9993,9995-9997,9999-10001,10003-10004,10006-10007,10009-10012,10014-10031,10033-10073,10075-10107,10109-10165,10167-10210,10222-10226,10228-10311,10313-10378,10380,10382,10384-10393,10395-10478,10480-10482,10484-10494,10496-10503,10505,10507,10509-10521,10523,10525-10528,10530-10540,10542-10543,10545-10568,10570-10584,10586-10590,10592-10594,10596,10598-10599,10601-10611,10613,10615,10617-10626,10628-10636,10638,10640-10654,10656-10658,10660,10662-10672,10674,10676-10682,10684,10686,10688-10690,10692-10694,10696-10697,10699-10701,10703,10705-10706,10708-10724,10726-10731,10734,10736-10748,10750-10796,10798-10939,10941,10943,10945,10947-10953,10955,10957-10961,10963,10965-10966,10968-11001,11003-11030,11032-11034,11036,11038,11040,11042-11053,11055-11059,11061-11062,11064-11068,11070-11073,11075-11077

Modified: 
branches/Version-1_0-branch/logistic/inc/class.sorequirement_resource_allocation.inc.php
===================================================================
--- 
branches/Version-1_0-branch/logistic/inc/class.sorequirement_resource_allocation.inc.php
    2013-04-25 08:51:26 UTC (rev 11077)
+++ 
branches/Version-1_0-branch/logistic/inc/class.sorequirement_resource_allocation.inc.php
    2013-04-25 08:54:16 UTC (rev 11078)
@@ -51,6 +51,7 @@
                        (
                                'location_id'           => 
$resource_alloc->get_location_id(),
                                'item_id'                       => 
$this->marshal($resource_alloc->get_resource_id(), 'int'),
+                               'item_inventory_id'     => 
$this->marshal($resource_alloc->get_inventory_id(), 'int'),
                                'allocation_id'         => 0,//not known yet
                                'create_user'           => 
$resource_alloc->get_create_user(),
                                'create_date'           => time(),

Modified: 
branches/Version-1_0-branch/logistic/inc/class.uirequirement_resource_allocation.inc.php
===================================================================
--- 
branches/Version-1_0-branch/logistic/inc/class.uirequirement_resource_allocation.inc.php
    2013-04-25 08:51:26 UTC (rev 11077)
+++ 
branches/Version-1_0-branch/logistic/inc/class.uirequirement_resource_allocation.inc.php
    2013-04-25 08:54:16 UTC (rev 11078)
@@ -361,7 +361,7 @@
                                {
                                        foreach ($allocation_suggestions as 
&$entry)
                                        {
-                                               $entry['inventory'] = 
execMethod('property.soentity.get_inventory', array('location_id' => 
$location_id, 'id' => $entry['id']));
+                                               $entry['inventory'] = 
execMethod('property.boentity.get_inventory', array('location_id' => 
$location_id, 'id' => $entry['id']));
                                        }
                                }
 
@@ -444,6 +444,8 @@
 
                        $user_id = $GLOBALS['phpgw_info']['user']['id'];
                        $chosen_resources = phpgw::get_var('chosen_resources');
+                       
+                       $inventory_ids = phpgw::get_var('inventory_ids');
 
                        $filters = array('requirement_id' => 
$requirement->get_id());
                        $num_allocated = $this->so->get_count($search_for, 
$search_type, $filters);
@@ -452,8 +454,34 @@
 
                        $num_allowed_bookings = $num_required - $num_allocated;
 
-                       if( count($chosen_resources) <=  $num_allowed_bookings)
+                       if($inventory_ids)
                        {
+                               foreach ($inventory_ids as $resource => 
$inventory)
+                               {
+                                       if($inventory)
+                                       {
+                                               $resource_arr = explode('_', 
$resource);
+                                               $resource_id = $resource_arr[0];
+                                               $inventory_id = 
$resource_arr[1];
+
+                                               $resource_alloc = new 
logistic_requirement_resource_allocation();
+                                               
$resource_alloc->set_requirement_id( $requirement->get_id() );
+                                               
$resource_alloc->set_resource_id( $resource_id );
+                                               //FIXME:
+_debug_array($inventory_id);
+                                               
$resource_alloc->set_inventory_id( $inventory_id );
+                                               
$resource_alloc->set_location_id( $requirement->get_location_id() );
+                                               
$resource_alloc->set_create_user( $user_id );
+                                               
$resource_alloc->set_start_date( $requirement->get_start_date() );
+                                               $resource_alloc->set_end_date( 
$requirement->get_start_date() );
+                                               $resource_alloc_id = 
$this->so->store( $resource_alloc );
+
+                                       }
+                               }
+
+                       }
+                       else if( count($chosen_resources) <=  
$num_allowed_bookings)
+                       {
                                foreach($chosen_resources as $resource_id)
                                {
                                        $resource_alloc = new 
logistic_requirement_resource_allocation();
@@ -467,12 +495,10 @@
                                        $resource_alloc_id = $this->so->store( 
$resource_alloc );
                                }
 
-                               $GLOBALS['phpgw']->redirect_link('/index.php', 
array('menuaction' => 'logistic.uiactivity.view_resource_allocation', 
'activity_id' => $requirement->get_activity_id()));
                        }
-                       else
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php', 
array('menuaction' => 'logistic.uiactivity.view_resource_allocation', 
'activity_id' => $requirement->get_activity_id()));
-                       }
+
+                       $GLOBALS['phpgw']->redirect_link('/index.php', 
array('menuaction' => 'logistic.uiactivity.view_resource_allocation', 
'activity_id' => $requirement->get_activity_id()));
+
                }
 
                public function delete()

Modified: 
branches/Version-1_0-branch/logistic/inc/model/class.requirement_resource_allocation.inc.php
===================================================================
--- 
branches/Version-1_0-branch/logistic/inc/model/class.requirement_resource_allocation.inc.php
        2013-04-25 08:51:26 UTC (rev 11077)
+++ 
branches/Version-1_0-branch/logistic/inc/model/class.requirement_resource_allocation.inc.php
        2013-04-25 08:54:16 UTC (rev 11078)
@@ -36,6 +36,7 @@
                protected $id;
                protected $requirement_id;
                protected $resource_id;
+               protected $inventory;
                protected $location_id;
                protected $create_user;
                
@@ -87,6 +88,17 @@
                        return $this->resource_id;
                }
 
+
+               public function set_inventory_id($inventory_id)
+               {
+                       $this->inventory_id = $inventory_id;
+               }
+
+               public function get_inventory_id()
+               {
+                       return $this->inventory_id;
+               }
+
                public function set_location_id($location_id)
                {
                        $this->location_id = $location_id;
@@ -189,6 +201,7 @@
                                'resource_type_descr'   => 
$this->get_resource_type_descr(),
                                'requirement_id'                => 
$this->get_requirement_id(),
                                'resource_id'                   => 
$this->get_resource_id(),
+                               'inventory_id'                  => 
$this->get_inventory_id(),
                                'location_id'                   => 
$this->get_location_id(),
                                'location_code'                 => 
$this->get_location_code(),
                                'fm_bim_item_address'   => 
$this->get_fm_bim_item_address(),

Modified: 
branches/Version-1_0-branch/logistic/templates/base/allocation/book_resources.xsl
===================================================================
--- 
branches/Version-1_0-branch/logistic/templates/base/allocation/book_resources.xsl
   2013-04-25 08:51:26 UTC (rev 11077)
+++ 
branches/Version-1_0-branch/logistic/templates/base/allocation/book_resources.xsl
   2013-04-25 08:54:16 UTC (rev 11078)
@@ -89,25 +89,48 @@
                                                
                                                <div>                           
                                                        <xsl:choose>
-                                                       <xsl:when 
test="(position() mod 2) != 1">
-                                                       <xsl:attribute 
name="class">resource odd</xsl:attribute>
-                                                   </xsl:when>
-                                                   <xsl:otherwise>
-                                                       <xsl:attribute 
name="class">resource even</xsl:attribute>
-                                                   </xsl:otherwise>
-                                                 </xsl:choose>
+                                                               <xsl:when 
test="(position() mod 2) != 1">
+                                                               <xsl:attribute 
name="class">resource odd</xsl:attribute>
+                                                           </xsl:when>
+                                                           <xsl:otherwise>
+                                                               <xsl:attribute 
name="class">resource even</xsl:attribute>
+                                                           </xsl:otherwise>
+                                                       </xsl:choose>
                                                        <input type="checkbox" 
value="{id}" name="chosen_resources[]" >
-                                                               <xsl:if 
test="allocated = 1">
+                                                               <xsl:if 
test="allocated = 1 or inventory != ''">
                                                                <xsl:attribute 
name="checked">checked</xsl:attribute>
                                                                <xsl:attribute 
name="disabled">disabled</xsl:attribute>
                                                                </xsl:if>
                                                        </input>
                                                        <span 
class="desc"><xsl:value-of select="short_description" /></span>
+
+                                                       <xsl:choose>
+                                                               <xsl:when 
test="inventory != ''">
+                                                                       
<xsl:for-each select="inventory">
+                                                                               
<div>
+                                                                               
        <span class="loc_code"></span>
+                                                                               
        <span class="loc_code">
+                                                                               
                <input type="text" value="{allocated}" 
name="inventory_ids[{//allocation_suggestions/id}_{inventory_id}]" size='4'>
+                                                                               
                </input>
+                                                                               
        </span>
+                                                                               
        <span class="loc_code"><xsl:value-of disable-output-escaping="yes" 
select="where" /></span>
+                                                                               
        <span class="loc_code"><xsl:value-of select="unit" /></span>
+                                                                               
        <span class="loc_code"><xsl:value-of select="inventory" /></span>
+                                                                               
        
+                                                                               
</div>
+                                                                       
</xsl:for-each>
+                                                           </xsl:when>
+                                                           <xsl:otherwise>
                                                        <span 
class="loc_id"><xsl:value-of select="location_id" /></span>
                                                <!--    <span 
class="type"><xsl:value-of select="type_lokale" /></span> -->
                                                        <span 
class="loc_code"><xsl:value-of select="location_code" /></span>
                                                        <span 
class="loc_code"><xsl:value-of select="allocated_date" /></span>
                                                        <span 
class="loc_code"><xsl:value-of select="allocated_where" /></span>
+
+                                                           </xsl:otherwise>
+                                                       </xsl:choose>
+
+
                                                </div>
                                        </xsl:for-each>
                                </div>                  

Modified: branches/Version-1_0-branch/property/inc/class.hook_helper.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.hook_helper.inc.php  
2013-04-25 08:51:26 UTC (rev 11077)
+++ branches/Version-1_0-branch/property/inc/class.hook_helper.inc.php  
2013-04-25 08:54:16 UTC (rev 11078)
@@ -81,4 +81,914 @@
                        $message =lang('user %1 added to 
%2',$data['account_lid'],$data['location_code']);
                        phpgwapi_cache::message_set($message, 'message');
                }
+
+               /**
+                * Show info for homepage - called from backend
+                *
+                * @return void
+                */
+               public function home_backend()
+               {
+                       $this->home_ticket();
+                       $this->home_project();
+                       $this->home_workorder();
+               }
+               /**
+                * Show info for homepage - called from mobilefrontend
+                *
+                * @return void
+                */
+               public function home_mobilefrontend()
+               {
+                       $this->home_ticket();
+               }
+
+               /**
+                * Show ticket info for homepage
+                *
+                * @return void
+                */
+               public function home_ticket()
+               {
+                       $accound_id = 
$GLOBALS['phpgw_info']['user']['account_id'];
+                       $save_app = 
$GLOBALS['phpgw_info']['flags']['currentapp'];
+                       $GLOBALS['phpgw_info']['flags']['currentapp'] = 
'property';
+                       $maxmatches = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'];
+                       
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'] = 5;
+
+                       $prefs = $GLOBALS['phpgw_info']['user']['preferences'];
+
+
+                       if ( 
isset($prefs['property']['mainscreen_show_new_updated_tts'])
+                       && 
$prefs['property']['mainscreen_show_new_updated_tts'] == 'yes')
+                       {
+
+                               $default_status         = 
isset($prefs['property']['tts_status']) ? $prefs['property']['tts_status'] : '';
+                               $tts = CreateObject('property.sotts');
+                               $tickets = $tts->read(array('user_id' => 
$accound_id, 'status_id' => array($default_status, 'O'), 'new' => true));
+                               $total_records = $tts->total_records;
+
+                               $portalbox = CreateObject('phpgwapi.listbox', 
array
+                               (
+                                       'title'         => 
isset($prefs['property']['mainscreen_tts_title']) && 
$prefs['property']['mainscreen_tts_title']? 
"{$prefs['property']['mainscreen_tts_title']} ({$total_records})" : 
lang('Helpdesk') . " ({$total_records})",
+                                       'primary'       => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'secondary'     => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'tertiary'      => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'width' => '100%',
+                                       'outerborderwidth'      => '0',
+                                       'header_background_image'       => 
$GLOBALS['phpgw']->common->image('phpgwapi','bg_filler', '.png', False)
+                               ));
+
+                               $app_id = 
$GLOBALS['phpgw']->applications->name2id('property');
+                               if( !isset($GLOBALS['portal_order']) 
||!in_array($app_id, $GLOBALS['portal_order']) )
+                               {
+                                       $GLOBALS['portal_order'][] = $app_id;
+                               }
+                               $var = array
+                               (
+                                       'up'    => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'down'  => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'close' => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'question'      => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'edit'  => array('url'  => 
'/set_box.php', 'app'        => $app_id)
+                               );
+
+                               foreach ( $var as $key => $value )
+                               {
+                                       //                      
$portalbox->set_controls($key,$value);
+                               }
+
+                               $category_name = array(); // caching
+
+                               $portalbox->data = array();
+                               foreach ($tickets as $ticket)
+                               {
+                                       if(!$ticket['subject'])
+                                       {
+                                               
if(!isset($category_name[$ticket['cat_id']]))
+                                               {
+                                                       $ticket['subject']= 
execMethod('property.botts.get_category_name', $ticket['cat_id']);
+                                                       
$category_name[$ticket['cat_id']] = $ticket['subject'];
+                                               }
+                                               else
+                                               {
+                                                       $ticket['subject'] = 
$category_name[$ticket['cat_id']];
+                                               }
+                                       }
+
+                                       $location = 
execMethod('property.bolocation.read_single', array('location_code' => 
$ticket['location_code'], 'extra' => array('view' => true))); 
+
+                                       $group = '';
+                                       if($ticket['group_id'])
+                                       {
+                                               $group = '[' . 
$GLOBALS['phpgw']->accounts->get($ticket['group_id'])->__toString() . ']';
+                                       }
+                                       $portalbox->data[] = array
+                                       (
+                                               'text' => 
"{$location['loc1_name']} :: {$ticket['subject']}{$group}",
+                                               'link' => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'property.uitts.view', 'id' => $ticket['id']))
+                                       );
+                               }
+
+                               echo "\n".'<!-- BEGIN ticket info -->'."\n<div 
class='property_tickets' style='padding-left: 
10px;'>".$portalbox->draw()."</div>\n".'<!-- END ticket info -->'."\n";
+
+                               unset($tts);
+                               unset($portalbox);
+                               unset($category_name);
+                               unset($default_status);
+                       }
+
+
+                       if ( 
isset($prefs['property']['mainscreen_show_new_updated_tts_2'])
+                       && 
$prefs['property']['mainscreen_show_new_updated_tts_2'] == 'yes')
+                       {
+
+                               $default_status         = 
isset($prefs['property']['tts_status_2']) ? $prefs['property']['tts_status_2'] 
: '';
+                               $tts = CreateObject('property.sotts');
+                               $tickets = $tts->read(array('user_id' => 
$accound_id, 'status_id' => $default_status));
+                               $total_records = $tts->total_records;
+
+                               $portalbox = CreateObject('phpgwapi.listbox', 
array
+                               (
+                                       'title'         => 
isset($prefs['property']['mainscreen_tts_title_2']) && 
$prefs['property']['mainscreen_tts_title_2']? 
"{$prefs['property']['mainscreen_tts_title_2']} ({$total_records})" : 
lang('Helpdesk') . " ({$total_records})",
+                                       'primary'       => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'secondary'     => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'tertiary'      => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'width' => '100%',
+                                       'outerborderwidth'      => '0',
+                                       'header_background_image'       => 
$GLOBALS['phpgw']->common->image('phpgwapi','bg_filler', '.png', False)
+                               ));
+
+                               $app_id = 
$GLOBALS['phpgw']->applications->name2id('property');
+                               if( !isset($GLOBALS['portal_order']) 
||!in_array($app_id, $GLOBALS['portal_order']) )
+                               {
+                                       $GLOBALS['portal_order'][] = $app_id;
+                               }
+                               $var = array
+                               (
+                                       'up'    => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'down'  => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'close' => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'question'      => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'edit'  => array('url'  => 
'/set_box.php', 'app'        => $app_id)
+                               );
+
+                               foreach ( $var as $key => $value )
+                               {
+                                       //                      
$portalbox->set_controls($key,$value);
+                               }
+
+                               $category_name = array(); // caching
+
+                               $portalbox->data = array();
+                               foreach ($tickets as $ticket)
+                               {
+                                       if(!$ticket['subject'])
+                                       {
+                                               
if(!isset($category_name[$ticket['cat_id']]))
+                                               {
+                                                       $ticket['subject']= 
execMethod('property.botts.get_category_name', $ticket['cat_id']);
+                                                       
$category_name[$ticket['cat_id']] = $ticket['subject'];
+                                               }
+                                               else
+                                               {
+                                                       $ticket['subject'] = 
$category_name[$ticket['cat_id']];
+                                               }
+                                       }
+
+                                       $location = 
execMethod('property.bolocation.read_single', array('location_code' => 
$ticket['location_code'], 'extra' => array('view' => true))); 
+
+                                       $group = '';
+                                       if($ticket['group_id'])
+                                       {
+                                               $group = '[' . 
$GLOBALS['phpgw']->accounts->get($ticket['group_id'])->__toString() . ']';
+                                       }
+
+                                       $portalbox->data[] = array
+                                       (
+                                               'text' => 
"{$location['loc1_name']} :: {$ticket['subject']}{$group}",
+                                               'link' => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'property.uitts.view', 'id' => $ticket['id']))
+                                       );
+                               }
+
+                               echo "\n".'<!-- BEGIN ticket info -->'."\n<div 
class='property_tickets' style='padding-left: 
10px;'>".$portalbox->draw()."</div>\n".'<!-- END ticket info -->'."\n";
+
+                               unset($tts);
+                               unset($portalbox);
+                               unset($category_name);
+                               unset($default_status);
+                       }
+
+
+                       if ( 
isset($prefs['property']['mainscreen_show_new_updated_tts_3'])
+                       && 
$prefs['property']['mainscreen_show_new_updated_tts_3'] == 'yes')
+                       {
+
+                               $default_status         = 
isset($prefs['property']['tts_status_3']) ? $prefs['property']['tts_status_3'] 
: '';
+                               $tts = CreateObject('property.sotts');
+                               $tickets = $tts->read(array('user_id' => 
$accound_id, 'status_id' => $default_status));
+                               $total_records = $tts->total_records;
+
+                               $portalbox = CreateObject('phpgwapi.listbox', 
array
+                               (
+                                       'title'         => 
isset($prefs['property']['mainscreen_tts_title_3']) && 
$prefs['property']['mainscreen_tts_title_3']? 
"{$prefs['property']['mainscreen_tts_title_3']} ({$total_records})" : 
lang('Helpdesk') . " ({$total_records})",
+                                       'primary'       => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'secondary'     => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'tertiary'      => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'width' => '100%',
+                                       'outerborderwidth'      => '0',
+                                       'header_background_image'       => 
$GLOBALS['phpgw']->common->image('phpgwapi','bg_filler', '.png', False)
+                               ));
+
+                               $app_id = 
$GLOBALS['phpgw']->applications->name2id('property');
+                               if( !isset($GLOBALS['portal_order']) 
||!in_array($app_id, $GLOBALS['portal_order']) )
+                               {
+                                       $GLOBALS['portal_order'][] = $app_id;
+                               }
+                               $var = array
+                               (
+                                       'up'    => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'down'  => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'close' => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'question'      => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'edit'  => array('url'  => 
'/set_box.php', 'app'        => $app_id)
+                               );
+
+                               foreach ( $var as $key => $value )
+                               {
+                                       //                      
$portalbox->set_controls($key,$value);
+                               }
+
+                               $category_name = array(); // caching
+
+                               $portalbox->data = array();
+                               foreach ($tickets as $ticket)
+                               {
+                                       if(!$ticket['subject'])
+                                       {
+                                               
if(!isset($category_name[$ticket['cat_id']]))
+                                               {
+                                                       $ticket['subject']= 
execMethod('property.botts.get_category_name', $ticket['cat_id']);
+                                                       
$category_name[$ticket['cat_id']] = $ticket['subject'];
+                                               }
+                                               else
+                                               {
+                                                       $ticket['subject'] = 
$category_name[$ticket['cat_id']];
+                                               }
+                                       }
+                                       $location = 
execMethod('property.bolocation.read_single', array('location_code' => 
$ticket['location_code'], 'extra' => array('view' => true))); 
+
+                                       $group = '';
+                                       if($ticket['group_id'])
+                                       {
+                                               $group = '[' . 
$GLOBALS['phpgw']->accounts->get($ticket['group_id'])->__toString() . ']';
+                                       }
+
+                                       $portalbox->data[] = array
+                                       (
+                                               'text' => 
"{$location['loc1_name']} :: {$ticket['subject']}{$group}",
+                                               'link' => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'property.uitts.view', 'id' => $ticket['id']))
+                                       );
+                               }
+
+                               echo "\n".'<!-- BEGIN ticket info -->'."\n<div 
class='property_tickets' style='padding-left: 
10px;'>".$portalbox->draw()."</div>\n".'<!-- END ticket info -->'."\n";
+
+                               unset($tts);
+                               unset($portalbox);
+                               unset($category_name);
+                               unset($default_status);
+                       }
+
+                       if ( 
isset($prefs['property']['mainscreen_show_new_updated_tts_4'])
+                       && 
$prefs['property']['mainscreen_show_new_updated_tts_4'] == 'yes')
+                       {
+
+                               $default_status         = 
isset($prefs['property']['tts_status_4']) ? $prefs['property']['tts_status_4'] 
: '';
+                               $tts = CreateObject('property.sotts');
+                               $tickets = $tts->read(array('user_id' => 
$accound_id, 'status_id' => $default_status));
+                               $total_records = $tts->total_records;
+
+                               $portalbox = CreateObject('phpgwapi.listbox', 
array
+                               (
+                                       'title'         => 
isset($prefs['property']['mainscreen_tts_title_4']) && 
$prefs['property']['mainscreen_tts_title_4']? 
"{$prefs['property']['mainscreen_tts_title_4']} ({$total_records})" : 
lang('Helpdesk') . " ({$total_records})",
+                                       'primary'       => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'secondary'     => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'tertiary'      => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'width' => '100%',
+                                       'outerborderwidth'      => '0',
+                                       'header_background_image'       => 
$GLOBALS['phpgw']->common->image('phpgwapi','bg_filler', '.png', False)
+                               ));
+
+                               $app_id = 
$GLOBALS['phpgw']->applications->name2id('property');
+                               if( !isset($GLOBALS['portal_order']) 
||!in_array($app_id, $GLOBALS['portal_order']) )
+                               {
+                                       $GLOBALS['portal_order'][] = $app_id;
+                               }
+                               $var = array
+                               (
+                                       'up'    => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'down'  => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'close' => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'question'      => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'edit'  => array('url'  => 
'/set_box.php', 'app'        => $app_id)
+                               );
+
+                               foreach ( $var as $key => $value )
+                               {
+                                       //                      
$portalbox->set_controls($key,$value);
+                               }
+
+                               $status = array();
+                               $status['X'] = array
+                               (
+                                       'name'                  => 
lang('closed'),
+                               );
+                               $status['O'] = array
+                               (
+                                       'name'                  => lang('open'),
+                               );
+
+                               $custom_status  = 
execMethod('property.botts.get_custom_status');
+
+                               foreach($custom_status as $custom)
+                               {
+                                       $status["C{$custom['id']}"] = array
+                                       (
+                                               'status'                        
=> $custom['name'],
+                                       );
+                               }
+
+                               $category_name = array(); // caching
+
+                               $portalbox->data = array();
+                               foreach ($tickets as $ticket)
+                               {
+                                       if(!$ticket['subject'])
+                                       {
+                                               
if(!isset($category_name[$ticket['cat_id']]))
+                                               {
+                                                       $ticket['subject']= 
execMethod('property.botts.get_category_name', $ticket['cat_id']);
+                                                       
$category_name[$ticket['cat_id']] = $ticket['subject'];
+                                               }
+                                               else
+                                               {
+                                                       $ticket['subject'] = 
$category_name[$ticket['cat_id']];
+                                               }
+                                       }
+                                       $location = 
execMethod('property.bolocation.read_single', array('location_code' => 
$ticket['location_code'], 'extra' => array('view' => true))); 
+                                       $portalbox->data[] = array
+                                       (
+                                               'text' => 
"{$location['loc1_name']} :: {$ticket['subject']} :: 
{$status[$ticket['status']]['name']}",
+                                               'link' => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'property.uitts.view', 'id' => $ticket['id']))
+                                       );
+                               }
+
+                               echo "\n".'<!-- BEGIN ticket info -->'."\n<div 
class='property_tickets' style='padding-left: 
10px;'>".$portalbox->draw()."</div>\n".'<!-- END ticket info -->'."\n";
+
+                               unset($tts);
+                               unset($portalbox);
+                               unset($category_name);
+                               unset($default_status);
+                       }
+
+                       $GLOBALS['phpgw_info']['flags']['currentapp'] = 
$save_app;
+                       
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'] = 
$maxmatches;
+               }
+
+               /**
+                * Show project info for homepage
+                *
+                * @return void
+                */
+               public function home_project()
+               {
+                       $accound_id = 
$GLOBALS['phpgw_info']['user']['account_id'];
+                       $save_app = 
$GLOBALS['phpgw_info']['flags']['currentapp'];
+                       $GLOBALS['phpgw_info']['flags']['currentapp'] = 
'property';
+                       $maxmatches = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'];
+                       
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'] = 5;
+
+                       $prefs = $GLOBALS['phpgw_info']['user']['preferences'];
+
+                       if ( isset($prefs['property']['mainscreen_project_1'])
+                       && $prefs['property']['mainscreen_project_1'] == 'yes')
+                       {
+
+                               $default_status         = 
isset($prefs['property']['project_status_mainscreen_1']) ? 
$prefs['property']['project_status_mainscreen_1'] : '';
+                               $obj = CreateObject('property.soproject');
+                               $projects = $obj->read(array('filter' => 
$accound_id, 'status_id' => $default_status));
+                               $total_records = $obj->total_records;
+
+                               $portalbox = CreateObject('phpgwapi.listbox', 
array
+                               (
+                                       'title' => 
isset($prefs['property']['mainscreen_projects_1_title']) && 
$prefs['property']['mainscreen_projects_1_title']? 
"{$prefs['property']['mainscreen_projects_1_title']} ({$total_records})" : 
lang('project') . '::' . lang('list') . ' ' . 1 . "::Status: {$default_status} 
({$total_records})",
+                                       'primary'       => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'secondary'     => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'tertiary'      => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'width' => '100%',
+                                       'outerborderwidth'      => '0',
+                                       'header_background_image'       => 
$GLOBALS['phpgw']->common->image('phpgwapi','bg_filler', '.png', False)
+                               ));
+
+                               $app_id = 
$GLOBALS['phpgw']->applications->name2id('property');
+                               if( !isset($GLOBALS['portal_order']) 
||!in_array($app_id, $GLOBALS['portal_order']) )
+                               {
+                                       $GLOBALS['portal_order'][] = $app_id;
+                               }
+                               $var = array
+                               (
+                                       'up'    => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'down'  => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'close' => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'question'      => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'edit'  => array('url'  => 
'/set_box.php', 'app'        => $app_id)
+                               );
+
+                               foreach ( $var as $key => $value )
+                               {
+                                       //                      
$portalbox->set_controls($key,$value);
+                               }
+
+                               $portalbox->data = array();
+                               foreach ($projects as $project)
+                               {
+                                       $portalbox->data[] = array
+                                       (
+                                               'text' => 
"{$project['address']} :: {$project['name']}",
+                                               'link' => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'property.uiproject.edit', 'id' => $project['project_id']))
+                                       );
+                               }
+
+                               echo "\n".'<!-- BEGIN project 1 info 
-->'."\n<div class='property_project' style='padding-left: 
10px;'>".$portalbox->draw()."</div>\n".'<!-- END project 1 info -->'."\n";
+
+                               unset($obj);
+                               unset($portalbox);
+                               unset($default_status);
+                       }
+
+                       $GLOBALS['phpgw_info']['flags']['currentapp'] = 
$save_app;
+                       
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'] = 
$maxmatches;
+               }
+
+               /**
+                * Show workorder info for homepage
+                *
+                * @return void
+                */
+               public function home_workorder()
+               {
+                       $accound_id = 
$GLOBALS['phpgw_info']['user']['account_id'];
+                       $save_app = 
$GLOBALS['phpgw_info']['flags']['currentapp'];
+                       $GLOBALS['phpgw_info']['flags']['currentapp'] = 
'property';
+                       $maxmatches = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'];
+                       
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'] = 5;
+
+                       $prefs = $GLOBALS['phpgw_info']['user']['preferences'];
+
+                       if ( isset($prefs['property']['mainscreen_workorder_1'])
+                       && $prefs['property']['mainscreen_workorder_1'] == 
'yes')
+                       {
+
+                               $default_status         = 
isset($prefs['property']['workorder_status_mainscreen_1']) ? 
$prefs['property']['workorder_status_mainscreen_1'] : '';
+                               $obj = CreateObject('property.soworkorder');
+                               $workorders = $obj->read(array('filter' => 
$accound_id, 'status_id' => $default_status));
+                               $total_records = $obj->total_records;
+
+                               $portalbox = CreateObject('phpgwapi.listbox', 
array
+                               (
+                                       'title' => 
isset($prefs['property']['mainscreen_workorders_1_title']) && 
$prefs['property']['mainscreen_workorders_1_title']? 
"{$prefs['property']['mainscreen_workorders_1_title']} ({$total_records})" : 
lang('workorder') . '::' . lang('list') . ' ' . 1 . "::Status: 
{$default_status} ({$total_records})",
+                                       'primary'       => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'secondary'     => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'tertiary'      => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'width' => '100%',
+                                       'outerborderwidth'      => '0',
+                                       'header_background_image'       => 
$GLOBALS['phpgw']->common->image('phpgwapi','bg_filler', '.png', False)
+                               ));
+
+                               $app_id = 
$GLOBALS['phpgw']->applications->name2id('property');
+                               if( !isset($GLOBALS['portal_order']) 
||!in_array($app_id, $GLOBALS['portal_order']) )
+                               {
+                                       $GLOBALS['portal_order'][] = $app_id;
+                               }
+                               $var = array
+                               (
+                                       'up'    => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'down'  => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'close' => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'question'      => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'edit'  => array('url'  => 
'/set_box.php', 'app'        => $app_id)
+                               );
+
+                               foreach ( $var as $key => $value )
+                               {
+                                       //                      
$portalbox->set_controls($key,$value);
+                               }
+
+                               $portalbox->data = array();
+                               foreach ($workorders as $workorder)
+                               {
+                                       $portalbox->data[] = array
+                                       (
+                                               'text' => 
"{$workorder['address']} :: {$workorder['title']}",
+                                               'link' => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'property.uiworkorder.edit', 'id' => $workorder['workorder_id']))
+                                       );
+                               }
+
+                               echo "\n".'<!-- BEGIN workorder 1 info 
-->'."\n<div class='property_workorder' style='padding-left: 
10px;'>".$portalbox->draw()."</div>\n".'<!-- END workorder 1 info -->'."\n";
+
+                               unset($obj);
+                               unset($portalbox);
+                               unset($default_status);
+                       }
+                       if ( isset($prefs['property']['mainscreen_workorder_2'])
+                       && $prefs['property']['mainscreen_workorder_2'] == 
'yes')
+                       {
+
+                               $default_status         = 
isset($prefs['property']['workorder_status_mainscreen_2']) ? 
$prefs['property']['workorder_status_mainscreen_2'] : '';
+                               $obj = CreateObject('property.soworkorder');
+                               $workorders = $obj->read(array('filter' => 
$accound_id, 'status_id' => $default_status));
+                               $total_records = $obj->total_records;
+
+                               $portalbox = CreateObject('phpgwapi.listbox', 
array
+                               (
+                                       'title' => 
isset($prefs['property']['mainscreen_workorders_2_title']) && 
$prefs['property']['mainscreen_workorders_2_title']? 
"{$prefs['property']['mainscreen_workorders_2_title']} ({$total_records})" : 
lang('workorder') . '::' . lang('list') . ' ' . 2 . "::Status: 
{$default_status} ({$total_records})",
+                                       'primary'       => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'secondary'     => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'tertiary'      => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'width' => '100%',
+                                       'outerborderwidth'      => '0',
+                                       'header_background_image'       => 
$GLOBALS['phpgw']->common->image('phpgwapi','bg_filler', '.png', False)
+                               ));
+
+                               $app_id = 
$GLOBALS['phpgw']->applications->name2id('property');
+                               if( !isset($GLOBALS['portal_order']) 
||!in_array($app_id, $GLOBALS['portal_order']) )
+                               {
+                                       $GLOBALS['portal_order'][] = $app_id;
+                               }
+                               $var = array
+                               (
+                                       'up'    => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'down'  => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'close' => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'question'      => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'edit'  => array('url'  => 
'/set_box.php', 'app'        => $app_id)
+                               );
+
+                               foreach ( $var as $key => $value )
+                               {
+                                       //                      
$portalbox->set_controls($key,$value);
+                               }
+
+                               $portalbox->data = array();
+                               foreach ($workorders as $workorder)
+                               {
+                                       $portalbox->data[] = array
+                                       (
+                                               'text' => 
"{$workorder['address']} :: {$workorder['title']}",
+                                               'link' => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'property.uiworkorder.edit', 'id' => $workorder['workorder_id']))
+                                       );
+                               }
+
+                               echo "\n".'<!-- BEGIN workorder 2 info 
-->'."\n<div class='property_workorder' style='padding-left: 
10px;'>".$portalbox->draw()."</div>\n".'<!-- END workorder 2 info -->'."\n";
+
+                               unset($obj);
+                               unset($portalbox);
+                               unset($default_status);
+                       }
+
+                       if ( 
isset($prefs['property']['mainscreen_showapprovals_request'])
+                       && 
$prefs['property']['mainscreen_showapprovals_request'] == 'yes' )
+                       {
+                               $total_records = 0;
+                               $title = 
isset($prefs['property']['mainscreen_showapprovals_request_title']) && 
$prefs['property']['mainscreen_showapprovals_request_title']? 
"{$prefs['property']['mainscreen_showapprovals_request_title']} 
({$total_records})" : lang('approvals request') . " ({$total_records})";
+
+                               //TODO Make listbox css compliant
+                               $portalbox = CreateObject('phpgwapi.listbox', 
array
+                               (
+                                       'title' => $title,
+                                       'primary'       => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'secondary'     => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'tertiary'      => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'width' => '100%',
+                                       'outerborderwidth'      => '0',
+                                       'header_background_image'       => 
$GLOBALS['phpgw']->common->image('phpgwapi','bg_filler', '.png', False)
+                               ));
+
+                               $app_id = 
$GLOBALS['phpgw']->applications->name2id('property');
+
+                               if( !isset($GLOBALS['portal_order']) 
||!in_array($app_id, $GLOBALS['portal_order']) )
+                               {
+                                       $GLOBALS['portal_order'][] = $app_id;
+                               }
+
+                               $var = array
+                               (
+                                       'up'    => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'down'  => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'close' => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'question'      => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'edit'  => array('url'  => 
'/set_box.php', 'app'        => $app_id)
+                               );
+
+                               foreach ( $var as $key => $value )
+                               {
+                                       //                      
$portalbox->set_controls($key,$value);
+                               }
+
+                               $action_params = array
+                               (
+                                       'appname'                       => 
'property',
+                                       'location'                      => 
'.project',
+                                       //      'id'                            
=> $id,
+                                       'responsible'           => '',
+                                       'responsible_type'  => 'user',
+                                       'action'                        => 
'approval',
+                                       'deadline'                      => '',
+                                       'created_by'            => $accound_id,
+                                       'allrows'                       => true
+                               );
+
+                               $obj = 
CreateObject('property.sopending_action');
+                               $pending_approvals = 
$obj->get_pending_action($action_params);
+                               $total_records = $obj->total_records;
+
+                               $portalbox->data = array();
+                               foreach ($pending_approvals as $entry)
+                               {
+                                       $responsible = $entry['responsible'] ? 
$GLOBALS['phpgw']->accounts->get($entry['responsible'])->__toString() : '';
+                                       $portalbox->data[] = array
+                                       (
+                                               'text' => "{$responsible}: 
Prosjekt venter på godkjenning: {$entry['item_id']}",
+                                               'link' => $entry['url']
+                                       );
+                               }
+                               $action_params = array
+                               (
+                                       'appname'                       => 
'property',
+                                       'location'                      => 
'.project.workorder',
+                                       //      'id'                            
=> $id,
+                                       'responsible'           => '',
+                                       'responsible_type'  => 'user',
+                                       'action'                        => 
'approval',
+                                       'deadline'                      => '',
+                                       'created_by'            => $accound_id,
+                                       'allrows'                       => true
+                               );
+
+                               $pending_approvals = 
$obj->get_pending_action($action_params);
+                               $total_records = $total_records + 
$obj->total_records;
+
+                               foreach ($pending_approvals as $entry)
+                               {
+                                       $responsible = $entry['responsible'] ? 
$GLOBALS['phpgw']->accounts->get($entry['responsible'])->__toString() : '';
+                                       $portalbox->data[] = array
+                                       (
+                                               'text' => "{$responsible}: 
Ordre venter på godkjenning: {$entry['item_id']}",
+                                               'link' => $entry['url']
+                                       );
+                               }
+                               $action_params = array
+                               (
+                                       'appname'                       => 
'property',
+                                       'location'                      => 
'.ticket',
+                                       //      'id'                            
=> $id,
+                                       'responsible'           => '',
+                                       'responsible_type'  => 'user',
+                                       'action'                        => 
'approval',
+                                       'deadline'                      => '',
+                                       'created_by'            => $accound_id,
+                                       'allrows'                       => true
+                               );
+
+                               $pending_approvals = 
$obj->get_pending_action($action_params);
+                               $total_records = $total_records + 
$obj->total_records;
+
+                               foreach ($pending_approvals as $entry)
+                               {
+                                       $responsible = $entry['responsible'] ? 
$GLOBALS['phpgw']->accounts->get($entry['responsible'])->__toString() : '';
+                                       $portalbox->data[] = array
+                                       (
+                                               'text' => "{$responsible}: 
Melding venter på godkjenning: {$entry['item_id']}",
+                                               'link' => $entry['url']
+                                       );
+                               }
+
+                               echo "\n".'<!-- BEGIN approval info 
-->'."\n<div class='property_approval' style='padding-left: 
10px;'>".$portalbox->draw()."</div>\n".'<!-- END approval info -->'."\n";
+
+                               unset($portalbox);
+                               unset($obj);
+                               unset($pending_approvals);
+                       }
+
+                       if ( 
isset($prefs['property']['mainscreen_showapprovals'])
+                       && $prefs['property']['mainscreen_showapprovals'] == 
'yes' )
+                       {
+                               $total_records = 0;
+                               $title = 'dummy';       
+                               //TODO Make listbox css compliant
+                               $portalbox = CreateObject('phpgwapi.listbox', 
array
+                               (
+                                       'title' => $title,
+                                       'primary'       => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'secondary'     => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'tertiary'      => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'width' => '100%',
+                                       'outerborderwidth'      => '0',
+                                       'header_background_image'       => 
$GLOBALS['phpgw']->common->image('phpgwapi','bg_filler', '.png', False)
+                               ));
+
+                               $app_id = 
$GLOBALS['phpgw']->applications->name2id('property');
+
+                               if( !isset($GLOBALS['portal_order']) 
||!in_array($app_id, $GLOBALS['portal_order']) )
+                               {
+                                       $GLOBALS['portal_order'][] = $app_id;
+                               }
+
+                               $var = array
+                               (
+                                       'up'    => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'down'  => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'close' => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'question'      => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'edit'  => array('url'  => 
'/set_box.php', 'app'        => $app_id)
+                               );
+
+                               foreach ( $var as $key => $value )
+                               {
+                                       //                      
$portalbox->set_controls($key,$value);
+                               }
+
+                               $action_params = array
+                               (
+                                       'appname'                       => 
'property',
+                                       'location'                      => 
'.project',
+                                       //      'id'                            
=> $id,
+                                       'responsible'           => $accound_id,
+                                       'responsible_type'  => 'user',
+                                       'action'                        => 
'approval',
+                                       'deadline'                      => '',
+                                       'created_by'            => '',
+                                       'allrows'                       => true
+                               );
+
+                               $pending_approvals = 
execMethod('property.sopending_action.get_pending_action', $action_params);
+
+                               $portalbox->data = array();
+                               foreach ($pending_approvals as $entry)
+                               {
+                                       $portalbox->data[] = array
+                                       (
+                                               'text' => 'Prosjekt venter på 
godkjenning: ' . $entry['item_id'],
+                                               'link' => $entry['url']
+                                       );
+                                       $total_records++;
+                               }
+
+                               //              echo "\n".'<!-- BEGIN approval 
info -->'."\n".$portalbox->draw()."\n".'<!-- END approval info -->'."\n";
+
+                               $action_params = array
+                               (
+                                       'appname'                       => 
'property',
+                                       'location'                      => 
'.project.workorder',
+                                       //      'id'                            
=> $id,
+                                       'responsible'           => $accound_id,
+                                       'responsible_type'  => 'user',
+                                       'action'                        => 
'approval',
+                                       'deadline'                      => '',
+                                       'created_by'            => '',
+                                       'allrows'                       => true
+                               );
+
+                               $pending_approvals = 
execMethod('property.sopending_action.get_pending_action', $action_params);
+
+                               //              $portalbox->data = array();
+                               foreach ($pending_approvals as $entry)
+                               {
+                                       $portalbox->data[] = array
+                                       (
+                                               'text' => 'Ordre venter på 
godkjenning: ' . $entry['item_id'],
+                                               'link' => $entry['url']
+                                       );
+                                       $total_records++;
+                               }
+
+                               $action_params = array
+                               (
+                                       'appname'                       => 
'property',
+                                       'location'                      => 
'.ticket',
+                                       //      'id'                            
=> $id,
+                                       'responsible'           => $accound_id,
+                                       'responsible_type'  => 'user',
+                                       'action'                        => 
'approval',
+                                       'deadline'                      => '',
+                                       'created_by'            => '',
+                                       'allrows'                       => true
+                               );
+
+                               $pending_approvals = 
execMethod('property.sopending_action.get_pending_action', $action_params);
+
+                               //              $portalbox->data = array();
+                               foreach ($pending_approvals as $entry)
+                               {
+                                       $portalbox->data[] = array
+                                       (
+                                               'text' => 'Melding venter på 
godkjenning: ' . $entry['item_id'],
+                                               'link' => $entry['url']
+                                       );
+                                       $total_records++;
+                               }
+                               //Hack
+                               $title = 
isset($prefs['property']['mainscreen_showapprovals_title']) && 
$prefs['property']['mainscreen_showapprovals_title']? 
"{$prefs['property']['mainscreen_showapprovals_title']} ({$total_records})" : 
lang('approvals') . " ({$total_records})";  
+                               $portalbox->setvar('title', $title);
+                               $portalbox->start_template();
+
+                               echo "\n".'<!-- BEGIN approval info 
-->'."\n<div class='property_approval' style='padding-left: 
10px;'>".$portalbox->draw()."</div>\n".'<!-- END approval info -->'."\n";
+
+                               unset($portalbox);
+                               unset($pending_approvals);
+                       }
+
+                       if ( 
isset($prefs['property']['mainscreen_showvendor_reminder'])
+                       && $prefs['property']['mainscreen_showvendor_reminder'] 
 == 'yes' )
+                       {
+                               $total_records = 0;
+                               $title = 'dummy';
+                               //TODO Make listbox css compliant
+                               $portalbox = CreateObject('phpgwapi.listbox', 
array
+                               (
+                                       'title' => $title,
+                                       'primary'       => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'secondary'     => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'tertiary'      => 
$GLOBALS['phpgw_info']['theme']['navbar_bg'],
+                                       'width' => '100%',
+                                       'outerborderwidth'      => '0',
+                                       'header_background_image'       => 
$GLOBALS['phpgw']->common->image('phpgwapi','bg_filler', '.png', False)
+                               ));
+
+                               $app_id = 
$GLOBALS['phpgw']->applications->name2id('property');
+                               if( !isset($GLOBALS['portal_order']) 
||!in_array($app_id, $GLOBALS['portal_order']) )
+                               {
+                                       $GLOBALS['portal_order'][] = $app_id;
+                               }
+
+                               $var = array
+                               (
+                                       'up'    => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'down'  => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'close' => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'question'      => array('url'  => 
'/set_box.php', 'app'        => $app_id),
+                                       'edit'  => array('url'  => 
'/set_box.php', 'app'        => $app_id)
+                               );
+
+                               foreach ( $var as $key => $value )
+                               {
+                                       //                      
$portalbox->set_controls($key,$value);
+                               }
+
+                               $action_params = array
+                               (
+                                       'appname'                       => 
'property',
+                                       'location'                      => 
'.project.workorder',
+                                       //      'id'                            
=> $id,
+                                       'responsible'           => '',
+                                       'responsible_type'  => 'vendor',
+                                       'action'                        => 
'remind',
+                                       'deadline'                      => '',
+                                       'created_by'            => $accound_id,
+                                       'allrows'                       => true
+                               );
+
+                               $pending_reminder = 
execMethod('property.sopending_action.get_pending_action', $action_params);
+
+                               $portalbox->data = array();
+                               foreach ($pending_reminder as $entry)
+                               {
+                                       $sql='SELECT org_name FROM fm_vendor 
where id=' . (int)$entry['responsible'];
+                                       $GLOBALS['phpgw']->db;
+                                       $GLOBALS['phpgw']->db->query($sql);
+                                       $GLOBALS['phpgw']->db->next_record();
+                                       $vendor_name =  
$GLOBALS['phpgw']->db->f('org_name',true);
+
+                                       $portalbox->data[] = array
+                                       (
+                                               'text' => "påminning nr 
{$entry['reminder']} til leverandør {$vendor_name}- ordre nr: 
{$entry['item_id']}",
+                                               'link' => $entry['url']
+                                       );
+                                       $total_records++;
+                               }
+
+                               $title = 
isset($prefs['property']['mainscreen_showvendor_reminder_title']) && 
$prefs['property']['mainscreen_showvendor_reminder_title']? 
"{$prefs['property']['mainscreen_showvendor_reminder_title']} 
({$total_records})" : lang('vendor reminder') . " ({$total_records})";  
+                               $portalbox->setvar('title', $title);
+                               $portalbox->start_template();
+
+                               echo "\n".'<!-- BEGIN reminder info 
-->'."\n<div class='property_reminder' style='padding-left: 
10px;'>".$portalbox->draw()."</div>\n".'<!-- END reminder info -->'."\n";
+
+                               unset($pending_reminder);
+                               unset($portalbox);
+                       }
+
+                       $GLOBALS['phpgw_info']['flags']['currentapp'] = 
$save_app;
+                       
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'] = 
$maxmatches;
+
+               }
        }

Modified: branches/Version-1_0-branch/property/setup/setup.inc.php
===================================================================
--- branches/Version-1_0-branch/property/setup/setup.inc.php    2013-04-25 
08:51:26 UTC (rev 11077)
+++ branches/Version-1_0-branch/property/setup/setup.inc.php    2013-04-25 
08:54:16 UTC (rev 11078)
@@ -215,19 +215,20 @@
                'manual',
                'settings',
                'help',
-               'menu'                  => 'property.menu.get_menu',
-               'cat_add'               => 'property.cat_hooks.cat_add',
-               'cat_delete'    => 'property.cat_hooks.cat_delete',
-               'cat_edit'              => 'property.cat_hooks.cat_edit',
                'config',
-               'home',
-               'addaccount'    => 'property.hook_helper.clear_userlist',
-               'editaccount'   => 'property.hook_helper.clear_userlist',
-               'deleteaccount' => 'property.hook_helper.clear_userlist',
-               'addgroup'              => 
'property.hook_helper.clear_userlist',
-               'deletegroup'   => 'property.hook_helper.clear_userlist',
-               'editgroup'             => 
'property.hook_helper.clear_userlist',
-               'registration'  => 'property.hook_helper.add_location_contact'
+               'menu'                                  => 
'property.menu.get_menu',
+               'cat_add'                               => 
'property.cat_hooks.cat_add',
+               'cat_delete'                    => 
'property.cat_hooks.cat_delete',
+               'cat_edit'                              => 
'property.cat_hooks.cat_edit',
+               'home'                                  => 
'property.hook_helper.home_backend',
+               'home_mobilefrontend'   => 
'property.hook_helper.home_mobilefrontend',
+               'addaccount'                    => 
'property.hook_helper.clear_userlist',
+               'editaccount'                   => 
'property.hook_helper.clear_userlist',
+               'deleteaccount'                 => 
'property.hook_helper.clear_userlist',
+               'addgroup'                              => 
'property.hook_helper.clear_userlist',
+               'deletegroup'                   => 
'property.hook_helper.clear_userlist',
+               'editgroup'                             => 
'property.hook_helper.clear_userlist',
+               'registration'                  => 
'property.hook_helper.add_location_contact'
        );
 
        /* Dependencies for this app to work */

Modified: 
branches/Version-1_0-branch/property/templates/base/attributes_form.xsl
===================================================================
--- branches/Version-1_0-branch/property/templates/base/attributes_form.xsl     
2013-04-25 08:51:26 UTC (rev 11077)
+++ branches/Version-1_0-branch/property/templates/base/attributes_form.xsl     
2013-04-25 08:54:16 UTC (rev 11078)
@@ -605,7 +605,7 @@
                                                </xsl:choose>
                                                <xsl:choose>
                                                        <xsl:when 
test="history=1">
-                                                               <input 
type="text" id="values_attribute_{counter}_date" 
name="values_attribute[{counter}][date]" value="" size="12" maxlength="10">
+                                                               <input 
type="text" id="values_attribute_{counter}_date" 
name="values_attribute[{counter}][date]" value="" size="12" maxlength="10" 
readonly="readonly">
                                                                </input>
                                                                <xsl:variable 
name="link_history">
                                                                        
<xsl:value-of select="link_history"/>




reply via email to

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