[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [8588] Merge 8580:8587 from trunk
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [8588] Merge 8580:8587 from trunk |
Date: |
Mon, 16 Jan 2012 12:18:18 +0000 |
Revision: 8588
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=8588
Author: sigurdne
Date: 2012-01-16 12:18:18 +0000 (Mon, 16 Jan 2012)
Log Message:
-----------
Merge 8580:8587 from trunk
Modified Paths:
--------------
branches/Version-1_0-branch/controller/inc/class.socontrol.inc.php
branches/Version-1_0-branch/controller/inc/class.uicalendar.inc.php
branches/Version-1_0-branch/controller/templates/base/calendar/view_calendar_month.xsl
branches/Version-1_0-branch/controller/templates/base/css/base.css
branches/Version-1_0-branch/property/inc/class.boinvoice.inc.php
branches/Version-1_0-branch/property/inc/class.soXport.inc.php
branches/Version-1_0-branch/property/inc/class.sobudget.inc.php
branches/Version-1_0-branch/property/inc/class.uiworkorder.inc.php
Added Paths:
-----------
branches/Version-1_0-branch/controller/inc/helper/class.location_finder.inc.php
branches/Version-1_0-branch/controller/inc/helper/class.status_checker.inc.php
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
+
/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
Modified: branches/Version-1_0-branch/controller/inc/class.socontrol.inc.php
===================================================================
--- branches/Version-1_0-branch/controller/inc/class.socontrol.inc.php
2012-01-16 12:17:09 UTC (rev 8587)
+++ branches/Version-1_0-branch/controller/inc/class.socontrol.inc.php
2012-01-16 12:18:18 UTC (rev 8588)
@@ -120,8 +120,8 @@
$sql .= "LEFT JOIN controller_control c on
cll.control_id=c.id ";
$sql .= "WHERE cll.location_code = $location_code ";
$sql .= "AND c.repeat_type = $repeat_type ";
- $sql .= "AND c.start_date >= $from_date ";
- $sql .= "AND (c.end_date < $to_date OR c.end_date IS
NULL)";
+ $sql .= "AND (c.start_date <= $from_date AND c.end_date
IS NULL ";
+ $sql .= "OR c.start_date > $from_date AND c.start_date
< $to_date)";
$this->db->query($sql);
Modified: branches/Version-1_0-branch/controller/inc/class.uicalendar.inc.php
===================================================================
--- branches/Version-1_0-branch/controller/inc/class.uicalendar.inc.php
2012-01-16 12:17:09 UTC (rev 8587)
+++ branches/Version-1_0-branch/controller/inc/class.uicalendar.inc.php
2012-01-16 12:18:18 UTC (rev 8588)
@@ -35,6 +35,7 @@
include_class('controller', 'check_item', 'inc/model/');
include_class('controller', 'check_list_status_info', 'inc/helper/');
include_class('controller', 'calendar_builder', 'inc/component/');
+ include_class('controller', 'location_finder', 'inc/helper/');
class controller_uicalendar extends controller_uicommon
{
@@ -95,9 +96,20 @@
$this->calendar_builder = new
calendar_builder($from_date, $to_date);
$repeat_type = 0;
-
+
+ $criteria = array
+ (
+ 'user_id' =>
$GLOBALS['phpgw_info']['user']['account_id'],
+ 'type_id' => 2,
+ 'role_id' => 0, // For å begrense til en
bestemt rolle - ellers listes alle roller for brukeren
+ 'allrows' => false
+ );
+
+ $location_finder = new location_finder();
+ $locations = $location_finder->get_responsibilities(
$criteria );
+
$controls_for_location_array =
$this->so_control->get_controls_by_location($location_code, $from_date,
$to_date, $repeat_type);
-
+
$control_id_with_check_list_array =
$this->so->get_check_lists_for_location_2($location_code, $from_date, $to_date,
$repeat_type);
$controls_with_check_list =
$this->populate_controls_with_check_lists($controls_for_location_array,
$control_id_with_check_list_array);
Copied:
branches/Version-1_0-branch/controller/inc/helper/class.location_finder.inc.php
(from rev 8587, trunk/controller/inc/helper/class.location_finder.inc.php)
===================================================================
---
branches/Version-1_0-branch/controller/inc/helper/class.location_finder.inc.php
(rev 0)
+++
branches/Version-1_0-branch/controller/inc/helper/class.location_finder.inc.php
2012-01-16 12:18:18 UTC (rev 8588)
@@ -0,0 +1,50 @@
+<?php
+ /**
+ * phpGroupWare - controller: a part of a Facilities Management System.
+ *
+ * @author Erink Holm-Larsen <address@hidden>
+ * @author Torstein Vadla <address@hidden>
+ * @copyright Copyright (C) 2011,2012 Free Software Foundation, Inc.
http://www.fsf.org/
+ * This file is part of phpGroupWare.
+ *
+ * phpGroupWare is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * phpGroupWare is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with phpGroupWare; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA
+ *
+ * @license http://www.gnu.org/licenses/gpl.html GNU General Public
License
+ * @internal Development of this application was funded by
http://www.bergen.kommune.no/
+ * @package property
+ * @subpackage controller
+ * @version $Id: class.uicontrol_group.inc.php 8267 2011-12-11 12:27:18Z
sigurdne $
+ */
+
+ phpgw::import_class('property.solocation');
+
+ class location_finder
+ {
+ private $so;
+
+ public function __construct()
+ {
+ $this->so = CreateObject('property.solocation');
+ }
+
+ function get_responsibilities($data = array())
+ {
+ $data['filter_role_on_contact'] =
$GLOBALS['phpgw']->accounts->get($data['user_id'])->person_id;
+ $locations = $this->so->read($data);
+ $total_records = $this->so->total_records;
+
+ return $locations;
+ }
+ }
Copied:
branches/Version-1_0-branch/controller/inc/helper/class.status_checker.inc.php
(from rev 8587, trunk/controller/inc/helper/class.status_checker.inc.php)
===================================================================
---
branches/Version-1_0-branch/controller/inc/helper/class.status_checker.inc.php
(rev 0)
+++
branches/Version-1_0-branch/controller/inc/helper/class.status_checker.inc.php
2012-01-16 12:18:18 UTC (rev 8588)
@@ -0,0 +1,138 @@
+<?php
+
+include_class('controller', 'date_generator', 'inc/component/');
+
+class calendar_builder {
+
+ private $period_start_date;
+ private $period_end_date;
+
+ public function __construct($period_start_date, $period_end_date){
+ $this->period_start_date = $period_start_date;
+ $this->period_end_date = $period_end_date;
+ }
+
+ public function build_calendar_array( $control_array,
$controls_calendar_array, $num, $period_type ){
+
+ foreach($control_array as $control){
+
+ // Initialises twelve_months_array
+ for($i=1;$i<=$num;$i++){
+ $calendar_array[$i] = null;
+ }
+
+ $date_generator = new
date_generator($control->get_start_date(), $control->get_end_date(),
$this->period_start_date, $this->period_end_date, $control->get_repeat_type(),
$control->get_repeat_interval());
+ $dates_array = $date_generator->get_dates();
+
+ // Inserts dates on behalf of repeat type and repeat
interval
+ foreach($dates_array as $date){
+
+ $todays_date = mktime(0,0,0,date("m"),
date("d"), date("Y"));
+
+ if($date < $todays_date){
+ $status = "control_not_accomplished";
+ }else{
+ $status = "control_registered";
+ }
+
+ if( $period_type == "view_months" )
+ {
+ $calendar_array[ date("n", $date)
]["status"] = $status;
+ $calendar_array[ date("n", $date)
]["info"] = array("date" => $date, "control_id" => $control->get_id());
+ }
+ else if( $period_type == "view_days" )
+ {
+ $calendar_array[ date("j", $date)
]["status"] = $status;
+ $calendar_array[ date("j", $date)
]["info"] = array("date" => $date, "control_id" => $control->get_id());
+ }
+ }
+
+ // Inserts check_list object on deadline month in
twelve_months_array
+ foreach($control->get_check_lists_array() as
$check_list){
+
+ $check_list_status_info = new
check_list_status_info();
+ $check_list_status_info->set_check_list_id(
$check_list->get_id() );
+
+ $todays_date = mktime(0,0,0,date("m"),
date("d"), date("Y"));
+
+ if( $check_list->get_status() == 0 &
$check_list->get_planned_date() > 0 & $check_list->get_deadline() >
$todays_date)
+ {
+ $status = "control_planned";
+
$check_list_status_info->set_info_text("Planlagt utført: " .
$check_list->get_planned_date());
+ }
+ else if( $check_list->get_status() == 0 &
$check_list->get_planned_date() > 0 & $check_list->get_deadline() <
$todays_date)
+ {
+ $status =
"control_not_accomplished_with_info";
+ }
+ else if( $check_list->get_status() == 0 &
$check_list->get_deadline() > $todays_date )
+ {
+ $status = "control_not_accomplished";
+ }
+ else if( $check_list->get_status() == 1 &
$check_list->get_completed_date() > $check_list->get_deadline() )
+ {
+ $status =
"control_accomplished_over_time_without_errors";
+ }
+ else if( $check_list->get_status() == 1 &
$check_list->get_completed_date() < $check_list->get_deadline() )
+ {
+ $status =
"control_accomplished_in_time_without_errors";
+ }
+ else if( $check_list->get_status() == 2 ){
+ $status =
"control_accomplished_with_errors";
+
$check_list_status_info->set_num_open_cases($check_list->get_num_open_cases());
+ }
+ else if( $check_list->get_status() == 3 )
+ {
+ $status = "control_canceled";
+ }
+
+ $check_list_status_info->set_deadline_date(
date("d/m-Y", $check_list->get_deadline()) );
+
+ if($period_type == "view_months")
+ {
+ $calendar_array[ date("n",
$check_list->get_deadline()) ]["status"] = $status;
+ $calendar_array[ date("n",
$check_list->get_deadline()) ]["info"] = $check_list_status_info->serialize();
+ }
+ else if( $period_type == "view_days" )
+ {
+ $calendar_array[ date("j",
$check_list->get_deadline()) ]["status"] = $status;
+ $calendar_array[ date("j",
$check_list->get_deadline()) ]["info"] = $check_list_status_info->serialize();
+ }
+ }
+
+ $controls_calendar_array[] = array("control" =>
$control->toArray(), "calendar_array" => $calendar_array);
+ }
+
+ return $controls_calendar_array;
+ }
+
+ // Function receives array with control objects that each contain
check_lists for a certain period
+ public function build_agg_calendar_array( $controls_array ){
+
+ $calendar_array = array();
+
+ foreach($controls_array as $control_array){
+
+ $control_info = $control_array['control'];
+ $check_list_array = $control_array['check_list'];
+
+ $control_id = $control_info['id'];
+
+ // Initialises twelve_months_array
+ for($i=0;$i<12;$i++){
+ $calendar_array[$i] = null;
+ }
+
+ $status = "control_agg_accomplished_with_errors";
+
+ // Inserts check_list object on deadline month in
twelve_months_array
+ foreach($check_list_array as $check_list){
+ $calendar_array[ date("m",
$check_list['deadline']) - 1 ] ["status"] = $status;
+ $calendar_array[ date("m",
$check_list['deadline']) - 1 ] ["info"] = $check_list['count'];
+ }
+
+ $control_calendar_array[] = array("control" =>
$control_info, "calendar_array" => $calendar_array);
+ }
+
+ return $control_calendar_array;
+ }
+}
\ No newline at end of file
Modified:
branches/Version-1_0-branch/controller/templates/base/calendar/view_calendar_month.xsl
===================================================================
---
branches/Version-1_0-branch/controller/templates/base/calendar/view_calendar_month.xsl
2012-01-16 12:17:09 UTC (rev 8587)
+++
branches/Version-1_0-branch/controller/templates/base/calendar/view_calendar_month.xsl
2012-01-16 12:18:18 UTC (rev 8588)
@@ -59,8 +59,6 @@
});
</script>
- <xsl:choose>
- <xsl:when test="controls_calendar_array/child::node()">
<ul style="clear:left;" class="calendar info month">
<li class="heading">
<div class="id">ID</div>
@@ -70,7 +68,8 @@
<div
class="frequency">Frekvenstype</div>
<div
class="frequency">Frekvensintervall</div>
</li>
-
+ <xsl:choose>
+ <xsl:when
test="controls_calendar_array/child::node()">
<xsl:for-each select="controls_calendar_array">
<li>
<div class="id">
@@ -100,6 +99,11 @@
</div>
</li>
</xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <div class="cal_info_msg">Ingen
sjekklister for bygg i angitt periode</div>
+ </xsl:otherwise>
+ </xsl:choose>
</ul>
<div id="days_wrp">
@@ -108,8 +112,9 @@
<xsl:for-each
select="heading_array">
<div><xsl:value-of
select="."/></div>
</xsl:for-each>
- </li>
-
+ </li>
+ <xsl:choose>
+ <xsl:when
test="controls_calendar_array/child::node()">
<xsl:for-each
select="controls_calendar_array">
<li>
<xsl:for-each
select="calendar_array">
@@ -186,24 +191,6 @@
</a>
</div>
</xsl:when>
- <!--
xsl:when test="status = 'control_accomplished_with_errors'">
-
<div style="position:relative;">
-
<div id="info_box" style="position:absolute;display:none;"></div>
-
<a class="view_check_list">
-
<xsl:attribute name="href">
-
<xsl:text>index.php?menuaction=controller.uicheck_list_for_location.edit_check_list</xsl:text>
-
<xsl:text>&check_list_id=</xsl:text>
-
<xsl:value-of select="info/check_list_id"/>
-
</xsl:attribute>
-
<span style="display:none">
-
<xsl:text>&check_list_id=</xsl:text><xsl:value-of
select="info/check_list_id"/>
-
<xsl:text>&phpgw_return_as=json</xsl:text>
-
</span>
-
<img height="15"
src="controller/images/status_icon_red_empty.png" />
-
</a>
-
</div>
-
</xsl:when>
- -->
<xsl:when test="status = 'control_not_accomplished_with_info'">
<div style="position:relative;">
<div id="info_box" style="position:absolute;display:none;"></div>
@@ -234,13 +221,14 @@
</xsl:choose>
</xsl:for-each>
</li>
+
</xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <div>Ingen sjekklister for bygg
i angitt periode</div>
+ </xsl:otherwise>
+ </xsl:choose>
</ul>
</div>
- </xsl:when>
- <xsl:otherwise>
- <div>Ingen sjekklister for bygg i angitt periode</div>
- </xsl:otherwise>
- </xsl:choose>
</div>
</xsl:template>
Modified: branches/Version-1_0-branch/controller/templates/base/css/base.css
===================================================================
--- branches/Version-1_0-branch/controller/templates/base/css/base.css
2012-01-16 12:17:09 UTC (rev 8587)
+++ branches/Version-1_0-branch/controller/templates/base/css/base.css
2012-01-16 12:18:18 UTC (rev 8588)
@@ -1245,3 +1245,7 @@
text-decoration: none;
width: 24px;
}
+.cal_info_msg{
+ font-size: 16px;
+ padding: 40px 20px;
+}
\ No newline at end of file
Modified: branches/Version-1_0-branch/property/inc/class.boinvoice.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.boinvoice.inc.php
2012-01-16 12:17:09 UTC (rev 8587)
+++ branches/Version-1_0-branch/property/inc/class.boinvoice.inc.php
2012-01-16 12:18:18 UTC (rev 8588)
@@ -386,13 +386,15 @@
{
$receipt['error'][] =
array('msg'=>lang('voucher id already taken'));
}
+ $skip_update_voucher_id = true;
$values['bilagsnr'] =
$values['voucher_out_id'];
$values['bilagsnr_ut'] = '';
}
else
{
- $values['bilagsnr'] =
execMethod('property.socommon.increment_id','Bilagsnummer');
- $values['bilagsnr_ut'] =
$values['voucher_out_id'];
+ $skip_update_voucher_id = false;
+ $values['bilagsnr'] =
execMethod('property.socommon.increment_id','Bilagsnummer');
+ $values['bilagsnr_ut'] =
$values['voucher_out_id'];
}
if( $soXport->check_invoice_id($values['vendor_id'],
$values['invoice_id']))
@@ -423,27 +425,30 @@
if($order_type=='s_agreement')
{
$sos_agreement =
CreateObject('property.sos_agreement');
- $s_agreement =
$sos_agreement->read_single(array('s_agreement_id'=>$values['order_id']));
- $values =
$this->set_responsible($values,$s_agreement['user_id'],$s_agreement['b_account_id']);
+ $s_agreement =
$sos_agreement->read_single($values['order_id']);
+ // $values =
$this->set_responsible($values,$s_agreement['user_id'],$s_agreement['b_account_id']);
$s_agreement_detail =
$sos_agreement->read(array('allrows'=>true,'s_agreement_id'=>$values['order_id'],'detail'=>true));
$sum_agreement=0;
for
($i=0;$i<count($s_agreement_detail);$i++)
{
+ $s_agreement_detail[$i]['cost']
= abs($s_agreement_detail[$i]['cost']) > 0 ? $s_agreement_detail[$i]['cost'] :
1;
$sum_agreement = $sum_agreement
+ $s_agreement_detail[$i]['cost'];
}
for
($i=0;$i<count($s_agreement_detail);$i++)
{
+ $_location = explode('-',
$s_agreement_detail[$i]['location_code']);
$buffer[$i]
= $values;
$buffer[$i]['location_code']
= $s_agreement_detail[$i]['location_code'];
+ $buffer[$i]['loc1']
= $_location[0];
$buffer[$i]['dima']
= str_replace('-','',$s_agreement_detail[$i]['location_code']);
$buffer[$i]['belop']
= round($values['belop'] / $sum_agreement *
$s_agreement_detail[$i]['cost'],2);
$buffer[$i]['godkjentbelop']
= $buffer[$i]['belop'];
}
}
- if($soXport->add_manual_invoice($buffer))
+
if($soXport->add_manual_invoice($buffer,$skip_update_voucher_id))
{
$receipt['message'][] =
array('msg'=>lang('Invoice %1 is added',$soXport->voucher_id));
$receipt['voucher_id'] =
$soXport->voucher_id;
@@ -651,7 +656,6 @@
$values['budsjettansvarligid'] =
$values['budget_responsible'];
}
-
if(!$values['supervisor'])
{
$criteria_supervisor
= array('ecodimb' => $values['dimb'], 'cat_id' => $responsible_supervisor);
Modified: branches/Version-1_0-branch/property/inc/class.soXport.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.soXport.inc.php
2012-01-16 12:17:09 UTC (rev 8587)
+++ branches/Version-1_0-branch/property/inc/class.soXport.inc.php
2012-01-16 12:18:18 UTC (rev 8588)
@@ -209,7 +209,7 @@
return $this->db->f('cnt');
}
- function add($buffer)
+ function add($buffer, $skip_update_voucher_id = false)
{
if ( $this->db->get_transaction() )
{
@@ -282,15 +282,18 @@
$this->db->query($sql,__LINE__,__FILE__);
$num++;
+
+ if(!$skip_update_voucher_id)
+ {
+ $now = time();
+ $this->db->query("SELECT
start_date FROM fm_idgenerator WHERE name='Bilagsnummer' AND start_date <
{$now} ORDER BY start_date DESC");
+ $this->db->next_record();
+ $start_date =
(int)$this->db->f('start_date');
+ $this->db->query("UPDATE
fm_idgenerator set value = {$bilagsnr} WHERE name = 'Bilagsnummer' AND
start_date = {$start_date}");
+ }
}
}
- $now = time();
- $this->db->query("SELECT start_date FROM fm_idgenerator
WHERE name='Bilagsnummer' AND start_date < {$now} ORDER BY start_date DESC");
- $this->db->next_record();
- $start_date = (int)$this->db->f('start_date');
- $this->db->query("UPDATE fm_idgenerator set value =
{$bilagsnr} WHERE name = 'Bilagsnummer' AND start_date = {$start_date}");
-
if ( !$this->global_lock )
{
$this->db->transaction_commit();
@@ -660,17 +663,19 @@
function get_responsible($b_abbount_id)
{
- $this->db->query("SELECT account_lid FROM fm_b_account
$this->join phpgw_accounts on fm_b_account.responsible =
phpgw_accounts.account_id WHERE fm_b_account.id = '$b_abbount_id'");
+ $this->db->query("SELECT account_lid FROM fm_b_account
{$this->join} phpgw_accounts on fm_b_account.responsible =
phpgw_accounts.account_id WHERE fm_b_account.id =
'{$b_abbount_id}'",__LINE__,__FILE__);
$this->db->next_record();
$responsible = $this->db->f('account_lid');
return $responsible;
}
- function add_manual_invoice($values)
+ function add_manual_invoice($values, $skip_update_voucher_id =
false)
{
- $this->add($values);
$_dateformat = $this->db->date_format();
$this->db->transaction_begin();
+
+ $this->add($values, $skip_update_voucher_id);
+
$voucher = $this->get_voucher($values[0]['bilagsnr']);
foreach ($voucher as &$line)
{
Modified: branches/Version-1_0-branch/property/inc/class.sobudget.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.sobudget.inc.php
2012-01-16 12:17:09 UTC (rev 8587)
+++ branches/Version-1_0-branch/property/inc/class.sobudget.inc.php
2012-01-16 12:18:18 UTC (rev 8588)
@@ -699,7 +699,7 @@
$where = 'AND';
if ($grouping > 0)
{
- $filtermethod = " $where
fm_b_account.category='$grouping' ";
+ $filtermethod .= " $where
fm_b_account.category='$grouping' ";
/*
if (!$details)
{
@@ -763,7 +763,7 @@
if ($grouping > 0)
{
- $filtermethod = " $where
fm_b_account.category='$grouping' ";
+ $filtermethod .= " $where
fm_b_account.category='$grouping' ";
$where = 'AND';
}
@@ -803,6 +803,85 @@
$ecodimb[(int)$this->db->f('dimb')] = true;
}
+
+// start service agreements
+
+
+ $filtermethod = " fm_s_agreement_budget.year = $year";
+ $where = 'AND';
+
+ if ($cat_id > 0)
+ {
+ $filtermethod .= " $where
fm_s_agreement.category = " . (int)$cat_id;
+ $where = 'AND';
+ }
+
+ if ($grouping > 0)
+ {
+ $filtermethod .= " $where
fm_b_account.category='$grouping' ";
+ $where = 'AND';
+ }
+
+ if ($dimb_id > 0)
+ {
+ $filtermethod .= " $where
fm_s_agreement_budget.ecodimb={$dimb_id}";
+ $where = 'AND';
+ }
+
+
+
+ $sql = "SELECT sum(budget) as budget,
count(fm_s_agreement.id) as hits, fm_b_account.{$b_account_field} as
{$b_account_field}, fm_s_agreement_budget.ecodimb"
+ . " FROM fm_s_agreement"
+ . " {$this->join} fm_s_agreement_budget ON
fm_s_agreement.id = fm_s_agreement_budget.agreement_id"
+ . " $this->join fm_b_account ON
fm_s_agreement_budget.budget_account = fm_b_account.id "
+ . " WHERE $filtermethod $querymethod GROUP BY
fm_b_account.{$b_account_field},fm_s_agreement_budget.ecodimb";
+
+ //_debug_array($sql);die();
+ $this->db->query($sql . $ordermethod,__LINE__,__FILE__);
+
+ $_dummy_district = 1;
+ while ($this->db->next_record())
+ {
+ $_budget = round($this->db->f('budget'));
+ $sum_obligation_cost += $_budget;
+ $_hits = $this->db->f('hits');
+ $sum_hits += $_hits;
+
+
$obligations[$this->db->f($b_account_field)][$_dummy_district][(int)$this->db->f('ecodimb')]
+= $_budget;
+
$hits[$this->db->f($b_account_field)][$_dummy_district][(int)$this->db->f('ecodimb')]
+= $_hits;
+ $accout_info[$this->db->f($b_account_field)] =
true;
+ $district[$_dummy_district] = true;
+ $ecodimb[(int)$this->db->f('ecodimb')] = true;
+ }
+
+
+
+ $sql = "SELECT fm_b_account.{$b_account_field} as
{$b_account_field}, sum(fm_ecobilagoverf.godkjentbelop) as
actual_cost,fm_s_agreement_budget.ecodimb"
+ . " FROM fm_ecobilagoverf"
+ . " {$this->join} fm_b_account ON
fm_ecobilagoverf.spbudact_code =fm_b_account.id"
+ . " {$this->join} fm_s_agreement ON
fm_ecobilagoverf.pmwrkord_code = fm_s_agreement.id"
+ . " {$this->join} fm_s_agreement_budget ON
fm_s_agreement.id = fm_s_agreement_budget.agreement_id"
+ . " WHERE periode >= $start_periode AND periode
<= $end_periode AND {$filtermethod}"
+ . " GROUP BY fm_b_account.{$b_account_field},
ecodimb";
+//_debug_array($sql);
+ $this->db->query($sql,__LINE__,__FILE__);
+
+ while ($this->db->next_record())
+ {
+ $_actual_cost =
round($this->db->f('actual_cost'));
+ $_account_value =
$this->db->f($b_account_field);
+ $_dimb = (int)$this->db->f('ecodimb');
+
+ $sum_actual_cost += $_actual_cost;
+
$actual_cost[$_account_value][$_dummy_district][$_dimb] += $_actual_cost;
+
$obligations[$_account_value][$_dummy_district][$_dimb] -= $_actual_cost;
+ $accout_info[$_account_value] = true;
+ $district[$_dummy_district] = true;
+ $ecodimb[(int)$this->db->f('dimb')] = true;
+ }
+
+
+// end service agreements
$this->sum_budget_cost = $sum_budget_cost;
$this->sum_obligation_cost = $sum_obligation_cost;
$this->sum_actual_cost = $sum_actual_cost;
Modified: branches/Version-1_0-branch/property/inc/class.uiworkorder.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.uiworkorder.inc.php
2012-01-16 12:17:09 UTC (rev 8587)
+++ branches/Version-1_0-branch/property/inc/class.uiworkorder.inc.php
2012-01-16 12:18:18 UTC (rev 8588)
@@ -2041,7 +2041,7 @@
(
'dimb' => $workorder['ecodimb']
);
- $_responsible
=
$boinvoice->set_responsible($_criteria,$workorder['user_id'],$values['b_account_id']);
+ $_responsible
=
$boinvoice->set_responsible($_criteria,$workorder['user_id'],$workorder['b_account_id']?$workorder['b_account_id']:$values['b_account_id']);
$values['janitor']
= $_responsible['janitor'];
$values['supervisor']
= $_responsible['supervisor'];
$values['budget_responsible'] =
$_responsible['budget_responsible'];
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [8588] Merge 8580:8587 from trunk,
Sigurd Nes <=