fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [13880] Merge 13856:13879 from trunk


From: Sigurd Nes
Subject: [Fmsystem-commits] [13880] Merge 13856:13879 from trunk
Date: Fri, 11 Sep 2015 08:24:24 +0000

Revision: 13880
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=13880
Author:   sigurdne
Date:     2015-09-11 08:24:24 +0000 (Fri, 11 Sep 2015)
Log Message:
-----------
Merge 13856:13879 from trunk

Modified Paths:
--------------
    branches/Version-1_0-branch/property/inc/class.botts.inc.php
    branches/Version-1_0-branch/property/inc/class.soresponsible.inc.php
    branches/Version-1_0-branch/property/inc/class.sotts.inc.php
    branches/Version-1_0-branch/property/inc/class.uilocation.inc.php
    
branches/Version-1_0-branch/property/inc/cron/default/import_oppdatering_av_bestilling_fra_agresso_bkb.php
    
branches/Version-1_0-branch/property/inc/custom/default/EBF_update_ticket_on_project_change.php
    
branches/Version-1_0-branch/property/js/yahoo/location.responsiblility_role.js
    branches/Version-1_0-branch/rental/inc/class.sobilling.inc.php
    branches/Version-1_0-branch/rental/inc/class.socontract_price_item.inc.php
    branches/Version-1_0-branch/rental/inc/model/class.invoice.inc.php

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


Property changes on: branches/Version-1_0-branch
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/dev-syncromind:13653
/branches/stavangerkommune:12743-12875,12986
/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,11079-11083,11085,11087-11088,11090-11093,11095-11108,11110-11111,11113,11115-11116,11118-11120,11122,11124-11129,11131-11132,11134,11136,11138,11140-11151,11153-11161,11163-11185,11187-11189,11191-11229,11231,11233,11235-11264,11266-11267,11269-11278,11280-11282,11284-11291,11293-11295,11297,11299-11302,11304,11306,11309,11311,11313-11316,11318-11323,11325-11332,11334,11336-11344,11346,11348-11354,11356,11358-11360,11363-11386,11388-11389,11391-11392,11394,11396-11403,11405-11406,11408,11410,11412,11415,11417,11419-11420,11422,11424-11429,11431-11442,11444-11445,11447-11460,11462-11464,11466-11470,11472-11475,11477-11478,11480-11487,11489-11492,11494,11496,11498,11500-11502,11504-11506,11508,11510-11511,11513,11515,11517-11523,11525-11526,11528-11531,11533,11535-11538,11540-11546,11548-11560,11563-11572,11574,11576,11578,11580-11581,11583,11585,11587,11589-11592,11594-11595,11597,11599,11601,11603,11605-11607,11609-11611,11613,11615-11619,11621-11622,11624-11630,11632,11634-11635,11637,11639-11640,11642,11644-11655,11657-11659,11661-11675,11677-11679,11681-11684,11686,11688,11690-11691,11693-11706,11708-11709,11711-11714,11716-11718,11720-11728,11730,11732,11734-11739,11741-11757,11759-11760,11762-11766,11768,11770-11771,11773,11775,11777,11779-11780,11782,11784,11786,11788,11790,11792-11793,11795,11797,11799,11801,11803-11804,11806-11807,11809,11811-11814,11816-11820,11822,11824-11826,11828,11830,11832,11834,11836-11837,11839,11841,11843,11845-11847,11849-11852,11854-11856,11858-11860,11862-11863,11865,11867,11869-11870,11872,11874,11876-11879,11881-11891,11893,11895,11897-11899,11901,11903,11905-11906,11908-11917,11919,11921,11923-11925,11927-11931,11933-11954,11956-11962,11964-11969,11971-11973,11975-11976,11978,11980,11982,11984,11986-11991,11993,11995,11997-12000,12002,12004-12006,12008,12010-12011,12013,12015,12017-12018,12020-12021,12023,12025,12027-12028,12030,12032-12036,12038,12040-12042,12044-12045,12047,12049-12052,12054,12056-12063,12065-12073,12075-12086,12088-12092,12094-12095,12097,12099-12102,12104,12106-12107,12109-12182,12184-12201,12203-12210,12212-12231,12233-12239,12241-12248,12250-12328,12330-12363,12365-12384,12386-12397,12399-12401,12403-12434,12436-12455,12457,12459-12461,12463-12465,12467,12469-12477,12479-12518,12520-12527,12529-12532,12534-12595,12597-12601,12603-12655,12657-12670,12672-12683,12685-12686,12688-12707,12709-12730,12732-12750,12752-12755,12757,12759-12761,12763-12819,12821,12823,12825-12890,12892-12896,12898,12900-12913,12915-13060,13062-13142,13144,13146-13331,13333-13338,13340-13347,13349-13365,13367-13381,13383,13385,13387-13391,13393-13401,13403,13405-13416,13418-13431,13433-13434,13436,13438-13440,13442-13480,13482-13506,13509-13540,13545-13551,13553,13555-13564,13566-13570,13572,13574-13590,13601,13603-13701,13703-13709,13711-13713,13715,13717,13719-13723,13725,13727-13728,13730-13732,13734-13735,13737-13744,13746,13748-13772,13774-13775,13777-13781,13783-13797,13799,13801-13806,13808-13810,13812,13814-13835,13837-13840,13842,13844-13855
   + /branches/dev-syncromind:13653
/branches/stavangerkommune:12743-12875,12986
/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,11079-11083,11085,11087-11088,11090-11093,11095-11108,11110-11111,11113,11115-11116,11118-11120,11122,11124-11129,11131-11132,11134,11136,11138,11140-11151,11153-11161,11163-11185,11187-11189,11191-11229,11231,11233,11235-11264,11266-11267,11269-11278,11280-11282,11284-11291,11293-11295,11297,11299-11302,11304,11306,11309,11311,11313-11316,11318-11323,11325-11332,11334,11336-11344,11346,11348-11354,11356,11358-11360,11363-11386,11388-11389,11391-11392,11394,11396-11403,11405-11406,11408,11410,11412,11415,11417,11419-11420,11422,11424-11429,11431-11442,11444-11445,11447-11460,11462-11464,11466-11470,11472-11475,11477-11478,11480-11487,11489-11492,11494,11496,11498,11500-11502,11504-11506,11508,11510-11511,11513,11515,11517-11523,11525-11526,11528-11531,11533,11535-11538,11540-11546,11548-11560,11563-11572,11574,11576,11578,11580-11581,11583,11585,11587,11589-11592,11594-11595,11597,11599,11601,11603,11605-11607,11609-11611,11613,11615-11619,11621-11622,11624-11630,11632,11634-11635,11637,11639-11640,11642,11644-11655,11657-11659,11661-11675,11677-11679,11681-11684,11686,11688,11690-11691,11693-11706,11708-11709,11711-11714,11716-11718,11720-11728,11730,11732,11734-11739,11741-11757,11759-11760,11762-11766,11768,11770-11771,11773,11775,11777,11779-11780,11782,11784,11786,11788,11790,11792-11793,11795,11797,11799,11801,11803-11804,11806-11807,11809,11811-11814,11816-11820,11822,11824-11826,11828,11830,11832,11834,11836-11837,11839,11841,11843,11845-11847,11849-11852,11854-11856,11858-11860,11862-11863,11865,11867,11869-11870,11872,11874,11876-11879,11881-11891,11893,11895,11897-11899,11901,11903,11905-11906,11908-11917,11919,11921,11923-11925,11927-11931,11933-11954,11956-11962,11964-11969,11971-11973,11975-11976,11978,11980,11982,11984,11986-11991,11993,11995,11997-12000,12002,12004-12006,12008,12010-12011,12013,12015,12017-12018,12020-12021,12023,12025,12027-12028,12030,12032-12036,12038,12040-12042,12044-12045,12047,12049-12052,12054,12056-12063,12065-12073,12075-12086,12088-12092,12094-12095,12097,12099-12102,12104,12106-12107,12109-12182,12184-12201,12203-12210,12212-12231,12233-12239,12241-12248,12250-12328,12330-12363,12365-12384,12386-12397,12399-12401,12403-12434,12436-12455,12457,12459-12461,12463-12465,12467,12469-12477,12479-12518,12520-12527,12529-12532,12534-12595,12597-12601,12603-12655,12657-12670,12672-12683,12685-12686,12688-12707,12709-12730,12732-12750,12752-12755,12757,12759-12761,12763-12819,12821,12823,12825-12890,12892-12896,12898,12900-12913,12915-13060,13062-13142,13144,13146-13331,13333-13338,13340-13347,13349-13365,13367-13381,13383,13385,13387-13391,13393-13401,13403,13405-13416,13418-13431,13433-13434,13436,13438-13440,13442-13480,13482-13506,13509-13540,13545-13551,13553,13555-13564,13566-13570,13572,13574-13590,13601,13603-13701,13703-13709,13711-13713,13715,13717,13719-13723,13725,13727-13728,13730-13732,13734-13735,13737-13744,13746,13748-13772,13774-13775,13777-13781,13783-13797,13799,13801-13806,13808-13810,13812,13814-13835,13837-13840,13842,13844-13855,13857-13879

Modified: branches/Version-1_0-branch/property/inc/class.botts.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.botts.inc.php        
2015-09-11 08:08:01 UTC (rev 13879)
+++ branches/Version-1_0-branch/property/inc/class.botts.inc.php        
2015-09-11 08:24:24 UTC (rev 13880)
@@ -270,6 +270,12 @@
                                                'id' => 'difference',
                                                'name'=> lang('difference')
                                        );
+
+                               $columns['order_dim1'] = array
+                                       (
+                                               'id' => 'order_dim1',
+                                               'name'=> lang('order_dim1')
+                                       );
                        }
 
                        $columns['ecodimb'] = array
@@ -539,6 +545,12 @@
                                        $closed_status[] =  "C{$custom['id']}";
                                }
                        }
+                       $order_dim1_list = $this->so->get_order_dim1();
+                       $order_dim1_arr = array();
+                       foreach($order_dim1_list as $_order_dim1)
+                       {
+                               $order_dim1_arr[$_order_dim1['id']] = 
$_order_dim1['name'];
+                       }
 
                        foreach ($tickets as & $ticket)
                        {
@@ -554,6 +566,11 @@
                                        $ticket['subject'] = 
$category_name[$ticket['cat_id']];
                                }
 
+                               if($ticket['order_dim1'])
+                               {
+                                       $ticket['order_dim1'] = 
$order_dim1_arr[$ticket['order_dim1']];
+                               }
+
                                if(!isset($account[$ticket['user_id']]))
                                {
                                        $ticket['user'] = 
$GLOBALS['phpgw']->accounts->id2name($ticket['user_id']);

Modified: branches/Version-1_0-branch/property/inc/class.soresponsible.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.soresponsible.inc.php        
2015-09-11 08:08:01 UTC (rev 13879)
+++ branches/Version-1_0-branch/property/inc/class.soresponsible.inc.php        
2015-09-11 08:24:24 UTC (rev 13880)
@@ -440,11 +440,11 @@
                /**
                 * get the responsibility name
                 *
-                * @param type $id
-                * @return string name
+                * @param type $id responsibility id
+                * @return string responsibility name
                 */
                public function get_responsibility_name($id)
-               {               
+               {
                        static $names = array();
                        $i = (int) $id;
 
@@ -452,17 +452,42 @@
                        {
                                return $names[$i];
                        }
-                       
 
                        $sql = "SELECT * FROM fm_responsibility WHERE id= 
{$id}";
                        $this->db->query($sql, __LINE__, __FILE__);
-                       $this->db->next_record();       
+                       $this->db->next_record();
                        $name = $this->db->f('name', true);
                        $names[$i] = $name;
                        return $name;
                }
 
                /**
+                * get the responsibility name from role
+                *
+                * @param type $id role id
+                * @return string responsibility name
+                */
+               public function get_responsibility_name_from_role($id)
+               {
+                       static $names = array();
+                       $i = (int) $id;
+
+                       if ($names[$i])
+                       {
+                               return $names[$i];
+                       }
+
+                       $sql = "SELECT fm_responsibility.name FROM 
fm_responsibility"
+                       . " {$this->join} fm_responsibility_role ON 
fm_responsibility.id = fm_responsibility_role.responsibility_id"
+                       . " WHERE fm_responsibility_role.id= {$id}";
+                       $this->db->query($sql, __LINE__, __FILE__);
+                       $this->db->next_record();
+                       $name = $this->db->f('name', true);
+                       $names[$i] = $name;
+                       return $name;
+               }
+
+               /**
                 * Read single responsibility type
                 *
                 * @param integer $id ID of responsibility type

Modified: branches/Version-1_0-branch/property/inc/class.sotts.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.sotts.inc.php        
2015-09-11 08:08:01 UTC (rev 13879)
+++ branches/Version-1_0-branch/property/inc/class.sotts.inc.php        
2015-09-11 08:24:24 UTC (rev 13880)
@@ -482,7 +482,7 @@
                        $return_fields = 
"fm_tts_tickets.id,fm_tts_tickets.assignedto,fm_tts_tickets.status,fm_tts_tickets.user_id,"
                        . 
"fm_tts_tickets.subject,fm_tts_tickets.address,fm_tts_tickets.location_code,fm_tts_tickets.priority,fm_tts_tickets.cat_id,fm_tts_tickets.group_id,"
                        . 
"fm_tts_tickets.entry_date,fm_tts_tickets.modified_date,fm_tts_tickets.finnish_date,fm_tts_tickets.finnish_date2,fm_tts_tickets.order_id,fm_tts_tickets.vendor_id,"
-                       . 
"fm_tts_tickets.budget,fm_tts_tickets.billable_hours,fm_district.descr as 
district,fm_tts_views.id as view,fm_location1.loc1_name,fm_tts_tickets.ecodimb 
{$result_order_field}";
+                       . 
"fm_tts_tickets.budget,fm_tts_tickets.billable_hours,fm_district.descr as 
district,fm_tts_views.id as 
view,fm_location1.loc1_name,fm_tts_tickets.ecodimb,fm_tts_tickets.order_dim1 
{$result_order_field}";
 
                        $custom_cols = $this->custom->find('property', 
'.ticket', 0, '', 'ASC', 'attrib_sort', true, true);
                        
@@ -626,7 +626,8 @@
                                                        'estimate'              
        => $this->db->f('budget'),
                                                        'new_ticket'            
=> $this->db->f('view') ? false : true,
                                                        'billable_hours'        
=> $this->db->f('billable_hours'),
-                                                       'ecodimb'               
        => $this->db->f('ecodimb')
+                                                       'ecodimb'               
        => $this->db->f('ecodimb'),
+                                                       'order_dim1'            
=> $this->db->f('order_dim1'),
                                        );
 
                                        foreach ($custom_cols as $custom_col)

Modified: branches/Version-1_0-branch/property/inc/class.uilocation.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.uilocation.inc.php   
2015-09-11 08:08:01 UTC (rev 13879)
+++ branches/Version-1_0-branch/property/inc/class.uilocation.inc.php   
2015-09-11 08:24:24 UTC (rev 13880)
@@ -120,17 +120,52 @@
                        $lookup                 = phpgw::get_var('lookup', 
'bool');
                        //$lookup_name  = phpgw::get_var('lookup_name');
                        $lookup_tenant  = phpgw::get_var('lookup_tenant', 
'bool');
+                       $download_type  = phpgw::get_var('download_type');
 
-                       if(!$summary)
+                       if (!$this->acl_read)
                        {
+                               $this->bocommon->no_access();
+                               return;
+                       }
+
+                       if($download_type == 'responsiblility_role')
+                       {
+                               $user_id                = 
phpgw::get_var('user_id', 'int');
+                               $role_id                = 
phpgw::get_var('role_id', 'int');
+
+                               $list = 
$this->bo->get_responsible(array('user_id' => $user_id, 'role_id' =>$role_id, 
'type_id'=>$type_id,'lookup_tenant'=>$lookup_tenant,'lookup'=>$lookup,'allrows'=>$this->allrows));
+
+                               foreach($list as &$entry)
+                               {
+                                       $entry['role_id'] = $role_id;
+                               }
+
+                               $uicols = $this->bo->uicols;
+
+                               $uicols['name'][]               = 'role_id';
+                               $uicols['descr'][]              = 'role_id';
+                               $uicols['input_type'][] = '';
+
+                               $uicols['name'][]               = 
'responsible_contact';
+                               $uicols['descr'][]              = 
lang('responsible');
+                               $uicols['input_type'][] = '';
+
+                               $uicols['name'][]               = 'contact_id';
+                               $uicols['descr'][]              = 'contact_id';
+                               $uicols['input_type'][] = '';
+                               
+                       }
+                       else if(!$summary)
+                       {
                                $list = 
$this->bo->read(array('type_id'=>$type_id,'lookup_tenant'=>$lookup_tenant,'lookup'=>$lookup,'allrows'=>true));
+                               $uicols = $this->bo->uicols;
                        }
                        else
                        {
                                $list= $this->bo->read_summary();
+                               $uicols = $this->bo->uicols;
                        }
 
-                       $uicols = $this->bo->uicols;
                        
$this->bocommon->download($list,$uicols['name'],$uicols['descr'],$uicols['input_type']);
                }
 
@@ -1174,7 +1209,8 @@
                                                'cat_id'                        
=> $this->cat_id,
                                                'status'                        
=> $this->status,
                                                'location_code'                 
=> $this->location_code,
-                                               'menu_selection'                
=> $_menu_selection
+                                               'menu_selection'                
=> $_menu_selection,
+                                               'download_type'         => 
'responsiblility_role'
                                        ));
 
                                $datatable['config']['allow_allrows'] = true;
@@ -1192,9 +1228,9 @@
                                        ."status:'{$this->status}',"
                                        
."location_code:'{$this->location_code}',"
                                        ."block_query:'{$block_query}',"
-                                       ."menu_selection:'{$_menu_selection}'";
+                                       ."menu_selection:'{$_menu_selection}',"
+                                       . 
"download_type:'responsiblility_role'";
 
-
                                $values_combo_box[0]  = 
execMethod('property.soadmin_location.read',array());
                                //$values_combo_box[0]  = 
array(array('id'=>'1','name'=> 'Eiendom'));
 
@@ -1255,7 +1291,7 @@
 
                                foreach($values_combo_box[4] as &$_role)
                                {
-                                       $_role['name'] .= ':: ' .  
execMethod('property.soresponsible.get_responsibility_name',$_role['id']);
+                                       $_role['name'] .= ':: ' .  
execMethod('property.soresponsible.get_responsibility_name_from_role',$_role['id']);
                                }
                                $default_value = array 
('id'=>'','name'=>lang('no role'));
                                array_unshift 
($values_combo_box[4],$default_value);
@@ -1294,7 +1330,8 @@
                                                                'filter'        
                => $this->filter,
                                                                'sort'          
                => $this->sort,
                                                                'order'         
                => $this->order,
-                                                               
'menu_selection'        => $_menu_selection
+                                                               
'menu_selection'        => $_menu_selection,
+                                                               'download_type' 
        => 'responsiblility_role'
                                                        )
                                                ),
                                                'fields'        => array
@@ -1374,6 +1411,13 @@
                                                                        
'tab_index' => 8
                                                                ),
                                                                array
+                                                               (
+                                                                       'id'    
=> 'btn_export',
+                                                                       'type'  
=> 'button',
+                                                                       'value' 
=> lang('download'),
+                                                                       
'tab_index' => 9
+                                                               ),
+                                                               array
                                                                ( // TEXT IMPUT
                                                                        'name'  
   => 'query',
                                                                        'id'    
 => 'txt_query',

Modified: 
branches/Version-1_0-branch/property/inc/cron/default/import_oppdatering_av_bestilling_fra_agresso_bkb.php
===================================================================
--- 
branches/Version-1_0-branch/property/inc/cron/default/import_oppdatering_av_bestilling_fra_agresso_bkb.php
  2015-09-11 08:08:01 UTC (rev 13879)
+++ 
branches/Version-1_0-branch/property/inc/cron/default/import_oppdatering_av_bestilling_fra_agresso_bkb.php
  2015-09-11 08:24:24 UTC (rev 13880)
@@ -141,6 +141,8 @@
                        {
                                $this->receipt['error'][] = array('msg' => 
"Arkiv katalog '{$dirname}/archive/' ikke er ikke skrivbar - kontakt 
systemadminstrator for å korrigere");
                        }
+
+                       $this->send_error_messages_as_email();
                }
 
                protected function get_files()
@@ -395,4 +397,34 @@
                                }
                        }
                }
+
+               private function send_error_messages_as_email()
+               {
+                       if 
(!isset($GLOBALS['phpgw_info']['server']['smtp_server']) || 
!$GLOBALS['phpgw_info']['server']['smtp_server'])
+                       {
+                               return;
+                       }
+
+                       $subject = 'Feil ved oppdatering av 
meldinger(bestillinger) fra Agresso';
+                       $from = "Ikke svar<address@hidden>";
+                       $to = "address@hidden";
+                       $cc = "address@hidden";
+                       if($this->receipt['error'])
+                       {
+                               $errors = array();
+                               foreach($this->receipt['error'] as $error)
+                               {
+                                       $errors[] = $error['msg'];
+                               }
+                               $body = implode("<br/>", $errors);
+                               try
+                               {
+                                       $rc = $this->send->msg('email',$to, 
$subject, $body, '', $cc, '',$from,'','html');
+                               }
+                               catch (phpmailerException $e)
+                               {
+                                       $this->receipt['error'][] = array('msg' 
=> $e->getMessage());
+                               }
+                       }
+               }
        }

Modified: 
branches/Version-1_0-branch/property/inc/custom/default/EBF_update_ticket_on_project_change.php
===================================================================
--- 
branches/Version-1_0-branch/property/inc/custom/default/EBF_update_ticket_on_project_change.php
     2015-09-11 08:08:01 UTC (rev 13879)
+++ 
branches/Version-1_0-branch/property/inc/custom/default/EBF_update_ticket_on_project_change.php
     2015-09-11 08:24:24 UTC (rev 13880)
@@ -82,9 +82,19 @@
                                }
                        }
 
-                       $this->db->query("SELECT finnish_date, finnish_date2 
FROM fm_tts_tickets WHERE id='$id'",__LINE__,__FILE__);
+                       $this->db->query("SELECT status, finnish_date, 
finnish_date2 FROM fm_tts_tickets WHERE id='$id'",__LINE__,__FILE__);
                        $this->db->next_record();
 
+                       $status = $this->db->f('status');
+
+                       /**
+                        * Kun oppdatere åpne meldinger
+                        */
+                       if($status == 'X')
+                       {
+                               return;
+                       }
+
                        $oldfinnish_date = (int)$this->db->f('finnish_date');
                        $oldfinnish_date2 = (int)$this->db->f('finnish_date2');
 

Modified: 
branches/Version-1_0-branch/property/js/yahoo/location.responsiblility_role.js
===================================================================
--- 
branches/Version-1_0-branch/property/js/yahoo/location.responsiblility_role.js  
    2015-09-11 08:08:01 UTC (rev 13879)
+++ 
branches/Version-1_0-branch/property/js/yahoo/location.responsiblility_role.js  
    2015-09-11 08:24:24 UTC (rev 13880)
@@ -13,10 +13,11 @@
        ];
 
        // define buttons
-       var oNormalButton_0, oNormalButton_1;//, oNormalButton_2;
+       var oNormalButton_0, oNormalButton_1, oNormalButton_2;
        var normalButtons = [
        {order:0, name:'btn_search', funct:"onSearchClick"},
-       {order:1, name:'btn_save',      funct:"onSave"}
+       {order:1, name:'btn_save',      funct:"onSave"},
+       {order:2, name:'btn_export', funct:"onDownloadClick"}
        ];
 
        // define Text buttons

Modified: branches/Version-1_0-branch/rental/inc/class.sobilling.inc.php
===================================================================
--- branches/Version-1_0-branch/rental/inc/class.sobilling.inc.php      
2015-09-11 08:08:01 UTC (rev 13879)
+++ branches/Version-1_0-branch/rental/inc/class.sobilling.inc.php      
2015-09-11 08:24:24 UTC (rev 13880)
@@ -305,7 +305,7 @@
 
                        foreach($contracts_to_bill as $contract_id) // Runs 
through all the contracts that should be billed in this run
                        {
-                               $invoice = 
rental_invoice::create_invoice($decimals, $billing->get_id(), $contract_id, 
in_array($contract_id, $contracts_overriding_billing_start) ? true : false, 
$bill_from_timestamp, $billing_end_timestamp, in_array($contract_id, 
$contracts_bill_only_one_time) ? true : false ); // Creates an invoice of the 
contract
+                               $invoice = 
rental_invoice::create_invoice($decimals, $billing->get_id(), $contract_id, 
in_array($contract_id, $contracts_overriding_billing_start) ? true : false, 
$bill_from_timestamp, $billing_end_timestamp, in_array($contract_id, 
$contracts_bill_only_one_time) ? true : false, false, $billing_term ); // 
Creates an invoice of the contract
                                if($invoice != null)
                                {
                                        $total_sum += $invoice->get_total_sum();

Modified: 
branches/Version-1_0-branch/rental/inc/class.socontract_price_item.inc.php
===================================================================
--- branches/Version-1_0-branch/rental/inc/class.socontract_price_item.inc.php  
2015-09-11 08:08:01 UTC (rev 13879)
+++ branches/Version-1_0-branch/rental/inc/class.socontract_price_item.inc.php  
2015-09-11 08:24:24 UTC (rev 13880)
@@ -1,374 +1,397 @@
 <?php
-phpgw::import_class('rental.socommon');
+       phpgw::import_class('rental.socommon');
 
-class rental_socontract_price_item extends rental_socommon
-{
-       protected static $so;
-       
-       /**
-        * Get a static reference to the storage object associated with this 
model object
-        * 
-        * @return rental_socontract_price_item the storage object
-        */
-       public static function get_instance()
+       class rental_socontract_price_item extends rental_socommon
        {
-               if (self::$so == null) {
-                       self::$so = 
CreateObject('rental.socontract_price_item');
+
+               protected static $so;
+
+               /**
+                * Get a static reference to the storage object associated with 
this model object
+                * 
+                * @return rental_socontract_price_item the storage object
+                */
+               public static function get_instance()
+               {
+                       if(self::$so == null)
+                       {
+                               self::$so = 
CreateObject('rental.socontract_price_item');
+                       }
+                       return self::$so;
                }
-               return self::$so;
-       }
-       
-       protected function get_id_field_name()
-       {
-               return 'id';
-       }
-       
-       protected function get_query(string $sort_field, boolean $ascending, 
string $search_for, string $search_type, array $filters, boolean $return_count)
-       {
-               $clauses = array('1=1');
-               
-               //Add columns to this array to include them in the query
-               $columns = array();
-               
-               $dir = $ascending ? 'ASC' : 'DESC';
-               $order = $sort_field ? "ORDER BY 
rental_contract_price_item.{$sort_field} $dir": 'ORDER BY agresso_id ASC, title 
ASC';
-               
-               $filter_clauses = array();
-               
-               if(isset($filters[$this->get_id_field_name()])){
-                       $id = 
$this->marshal($filters[$this->get_id_field_name()],'int');
-                       $filter_clauses[] = 
"rental_contract_price_item.{$this->get_id_field_name()} = {$id}";
+
+               protected function get_id_field_name()
+               {
+                       return 'id';
                }
-               if(isset($filters['contract_id'])){
-                       $id = $this->marshal($filters['contract_id'],'int');
-                       $filter_clauses[] = "contract_id = {$id}";
-               }
-               if(isset($filters['contract_ids_one_time'])){
-                       $billing_term_id = (int)$filters['billing_term_id'];
-                       $sql = "SELECT months FROM rental_billing_term WHERE id 
= {$billing_term_id}";
-                       $result = $this->db->query($sql);
-                       if(!$result)
+
+               protected function get_query(string $sort_field, boolean 
$ascending, string $search_for, string $search_type, array $filters, boolean 
$return_count)
+               {
+                       $clauses = array('1=1');
+
+                       //Add columns to this array to include them in the query
+                       $columns = array();
+
+                       $dir     = $ascending ? 'ASC' : 'DESC';
+                       $order   = $sort_field ? "ORDER BY 
rental_contract_price_item.{$sort_field} $dir" : 'ORDER BY agresso_id ASC, 
title ASC';
+
+                       $filter_clauses = array();
+
+                       if(isset($filters[$this->get_id_field_name()]))
                        {
-                               return;
+                               $id                                      = 
$this->marshal($filters[$this->get_id_field_name()], 'int');
+                               $filter_clauses[]        = 
"rental_contract_price_item.{$this->get_id_field_name()} = {$id}";
                        }
-                       if(!$this->db->next_record())
+                       if(isset($filters['contract_id']))
                        {
-                               return;
+                               $id                                      = 
$this->marshal($filters['contract_id'], 'int');
+                               $filter_clauses[]        = "contract_id = 
{$id}";
                        }
-                       $month = (int)$filters['month'];
-                       $year = (int)$filters['year'];
-                       $months = $this->unmarshal($this->db->f('months', 
true), 'int');
-                       $timestamp_end = strtotime("{$year}-{$month}-01"); // 
The first day in the month to bill for
-                       if($months == 1){
-                               $timestamp_start = $timestamp_end; // The first 
day of the period to bill for
-                       }else{
-                               $months = $months-1;
-                               $timestamp_start = strtotime("-{$months} 
months", $timestamp_end); // The first day of the period to bill for
+                       if(isset($filters['contract_ids_one_time']))
+                       {
+                               $billing_term_id = 
(int)$filters['billing_term_id'];
+                               $sql                     = "SELECT months FROM 
rental_billing_term WHERE id = {$billing_term_id}";
+                               $result                  = 
$this->db->query($sql);
+                               if(!$result)
+                               {
+                                       return;
+                               }
+                               if(!$this->db->next_record())
+                               {
+                                       return;
+                               }
+                               $month                   = 
(int)$filters['month'];
+                               $year                    = 
(int)$filters['year'];
+                               $months                  = 
$this->unmarshal($this->db->f('months', true), 'int');
+                               $timestamp_end   = 
strtotime("{$year}-{$month}-01"); // The first day in the month to bill for
+                               if($months == 1)
+                               {
+                                       $timestamp_start = $timestamp_end; // 
The first day of the period to bill for
+                               }
+                               else
+                               {
+                                       $months                  = $months - 1;
+                                       $timestamp_start = 
strtotime("-{$months} months", $timestamp_end); // The first day of the period 
to bill for
+                               }
+                               $timestamp_end = strtotime('+1 month', 
$timestamp_end); // The first day in the month after the one to bill for
+
+                               $filter_clauses[]        = "is_one_time";
+                               $filter_clauses[]        = "date_start < 
{$timestamp_end}";
+                               $filter_clauses[]        = "date_start >= 
{$timestamp_start}";
                        }
-                       $timestamp_end = strtotime('+1 month', $timestamp_end); 
// The first day in the month after the one to bill for
-                       
-                       $filter_clauses[] = "is_one_time";
-                       $filter_clauses[] = "date_start < {$timestamp_end}";
-                       $filter_clauses[] = "date_start >= {$timestamp_start}";
+                       if(isset($filters['one_time']) && 
$filters['include_billed'])
+                       {
+                               $filter_clauses[] = "is_one_time";
+                       }
+                       if(isset($filters['one_time']) && 
!$filters['include_billed'])
+                       {
+                               $filter_clauses[] = "is_one_time AND NOT 
is_billed";
+                       }
+                       else if($filters['include_billed'])
+                       {
+                               // Do not add filter on showing only price 
items that has not yet been billed
+                       }
+                       else
+                       {
+                               $filter_clauses[] = "NOT is_billed";
+                       }
+
+                       if(count($filter_clauses))
+                       {
+                               $clauses[] = join(' AND ', $filter_clauses);
+                       }
+
+                       $condition = join(' AND ', $clauses);
+
+                       if($return_count) // We should only return a count
+                       {
+                               $cols    = 
'COUNT(DISTINCT(rental_contract_price_item.id)) AS count';
+                               $order   = "";
+                       }
+                       else if(isset($filters['export']))
+                       {
+                               $cols = "rental_contract_price_item.id, 
rental_contract_price_item.price_item_id,"
+                               . " rental_contract_price_item.contract_id, 
rental_contract_price_item.area, rental_contract_price_item.count,"
+                               . " rental_contract_price_item.agresso_id, 
rental_contract_price_item.title, rental_contract_price_item.is_area,"
+                               . " rental_contract_price_item.price, 
rental_contract_price_item.total_price, rental_contract_price_item.is_one_time,"
+                               . " rental_contract_price_item.date_start, 
rental_contract_price_item.date_end";
+                       }
+                       else
+                       {
+                               $cols = 'rental_contract_price_item.*, 
rental_price_item.type';
+                       }
+
+                       $tables  = "rental_contract_price_item";
+//             $joins = "";
+                       $joins   = "{$this->join} rental_price_item ON 
(rental_price_item.id = rental_contract_price_item.price_item_id)";
+
+                       //var_dump("SELECT {$cols} FROM {$tables} {$joins} 
WHERE {$condition} {$order}");
+                       return "SELECT {$cols} FROM {$tables} {$joins} WHERE 
{$condition} {$order}";
                }
-               if(isset($filters['one_time']) && $filters['include_billed'])
+
+               protected function populate(int $price_item_id, &$price_item)
                {
-                       $filter_clauses[] = "is_one_time";
+                       if($price_item == null)
+                       {
+                               $price_item              = new 
rental_contract_price_item($this->unmarshal($this->db->f('id'), 'int'));
+                               
$price_item->set_price_item_id($this->unmarshal($this->db->f('price_item_id'), 
'int'));
+                               
$price_item->set_contract_id($this->unmarshal($this->db->f('contract_id'), 
'int'));
+                               
$price_item->set_title($this->unmarshal($this->db->f('title'), 'string'));
+                               
$price_item->set_agresso_id($this->unmarshal($this->db->f('agresso_id'), 
'string'));
+                               
$price_item->set_is_area($this->unmarshal($this->db->f('is_area'), 'bool'));
+                               
$price_item->set_is_one_time($this->unmarshal($this->db->f('is_one_time'), 
'bool'));
+                               
$price_item->set_is_billed($this->unmarshal($this->db->f('is_billed'), 'bool'));
+                               
$price_item->set_price($this->unmarshal($this->db->f('price'), 'float'));
+                               
$price_item->set_area($this->unmarshal($this->db->f('area'), 'float'));
+                               
$price_item->set_count($this->unmarshal($this->db->f('count'), 'int'));
+                               
$price_item->set_total_price($this->unmarshal($this->db->f('total_price'), 
'float'));
+                               
$price_item->set_date_start($this->unmarshal($this->db->f('date_start'), 
'int'));
+                               
$price_item->set_date_end($this->unmarshal($this->db->f('date_end'), 'int'));
+                               $price_type_id   = (int)$this->db->f('type');
+                               $price_item->set_price_type_id($price_type_id);
+                               
$price_item->set_price_type_title($price_type_id);
+                       }
+                       return $price_item;
                }
-               if(isset($filters['one_time']) && !$filters['include_billed'])
+
+               /**
+                * Add a new contract_price_item to the database from import.  
Adds the new insert id to the object reference.
+                *
+                * @param $price_item the contract_price_item to be added
+                * @return mixed receipt from the db operation
+                */
+               public function import(&$price_item)
                {
-                       $filter_clauses[] = "is_one_time AND NOT is_billed";
+                       $price           = $price_item->get_price() ? 
$price_item->get_price() : 0;
+                       $total_price = $price_item->get_total_price() ? 
$price_item->get_total_price() : 0;
+                       $rented_area = $price_item->get_area();
+
+                       // Build a db-friendly array of the composite object
+                       $values = array(
+                               $price_item->get_price_item_id(),
+                               $price_item->get_contract_id(),
+                               '\'' . $price_item->get_title() . '\'',
+                               '\'' . $price_item->get_agresso_id() . '\'',
+                               ($price_item->is_area() ? "true" : "false"),
+                               str_replace(',', '.', $price),
+                               str_replace(',', '.', $rented_area),
+                               str_replace(',', '.', $price_item->get_count()),
+                               str_replace(',', '.', $total_price),
+                               ($price_item->is_billed() ? "true" : "false")
+                       );
+
+                       $cols = array('price_item_id', 'contract_id', 'title', 
'agresso_id', 'is_area',
+                               'price', 'area', 'count', 'total_price', 
'is_billed');
+
+                       if($price_item->get_date_start())
+                       {
+                               $values[]        = 
$this->marshal($price_item->get_date_start(), 'int');
+                               $cols[]          = 'date_start';
+                       }
+
+                       if($price_item->get_date_end())
+                       {
+                               $values[]        = 
$this->marshal($price_item->get_date_end(), 'int');
+                               $cols[]          = 'date_end';
+                       }
+
+                       $q = "INSERT INTO rental_contract_price_item (" . 
join(',', $cols) . ") VALUES (" . join(',', $values) . ")";
+
+                       $result                  = $this->db->query($q);
+                       $receipt['id']   = 
$this->db->get_last_insert_id("rental_contract_price_item", 'id');
+
+                       $price_item->set_id($receipt['id']);
+
+                       return $receipt;
                }
-               else if($filters['include_billed'])
+
+               /**
+                * Add a new contract_price_item to the database.  Adds the new 
insert id to the object reference.
+                *
+                * @param $price_item the contract_price_item to be added
+                * @return mixed receipt from the db operation
+                */
+               protected function add(&$price_item)
                {
-                       // Do not add filter on showing only price items that 
has not yet been billed
+                       $price           = $price_item->get_price() ? 
$price_item->get_price() : 0;
+                       $total_price = $price_item->get_total_price() ? 
$price_item->get_total_price() : 0;
+                       $rented_area = $price_item->get_area();
+                       $contract        = 
rental_socontract::get_instance()->get_single($price_item->get_contract_id);
+                       if($price_item->is_area())
+                       {
+                               $rented_area = $contract->get_rented_area();
+                               if($rented_area == '')
+                               {
+                                       $rented_area = 0;
+                               }
+                               $total_price = ($rented_area * $price);
+                       }
+
+                       // Build a db-friendly array of the composite object
+                       $values = array(
+                               $price_item->get_price_item_id(),
+                               $price_item->get_contract_id(),
+                               '\'' . $price_item->get_title() . '\'',
+                               '\'' . $price_item->get_agresso_id() . '\'',
+                               ($price_item->is_area() ? "true" : "false"),
+                               str_replace(',', '.', $price),
+                               str_replace(',', '.', $rented_area),
+                               str_replace(',', '.', $price_item->get_count()),
+                               str_replace(',', '.', $total_price),
+                               ($price_item->is_one_time() ? "true" : "false"),
+                               ($price_item->is_billed() ? "true" : "false")
+                       );
+
+                       $cols = array('price_item_id', 'contract_id', 'title', 
'agresso_id', 'is_area',
+                               'price', 'area', 'count', 'total_price', 
'is_one_time', 'is_billed');
+
+                       if($price_item->get_date_start())
+                       {
+                               $values[]        = 
$this->marshal($price_item->get_date_start(), 'int');
+                               $cols[]          = 'date_start';
+                       }
+
+                       if($price_item->get_date_end())
+                       {
+                               $values[]        = 
$this->marshal($price_item->get_date_end(), 'int');
+                               $cols[]          = 'date_end';
+                       }
+
+                       $q = "INSERT INTO rental_contract_price_item (" . 
join(',', $cols) . ") VALUES (" . join(',', $values) . ")";
+
+                       $result                  = $this->db->query($q);
+                       $receipt['id']   = 
$this->db->get_last_insert_id("rental_contract_price_item", 'id');
+
+                       $price_item->set_id($receipt['id']);
+
+                       return $receipt;
                }
-               else
-               {
-                       $filter_clauses[] = "NOT is_billed";
-               }
-               
-               if(count($filter_clauses))
-               {
-                       $clauses[] = join(' AND ', $filter_clauses);
-               }
-               
-               $condition =  join(' AND ', $clauses);
-               
-               if($return_count) // We should only return a count
-               {
-                       $cols = 'COUNT(DISTINCT(rental_contract_price_item.id)) 
AS count';
-                       $order = "";
-               }
-               else if(isset($filters['export']))
-               {
-                       $cols = "rental_contract_price_item.id, 
rental_contract_price_item.price_item_id,"
-                       . " rental_contract_price_item.contract_id, 
rental_contract_price_item.area, rental_contract_price_item.count,"
-                       . " rental_contract_price_item.agresso_id, 
rental_contract_price_item.title, rental_contract_price_item.is_area,"
-                       . " rental_contract_price_item.price, 
rental_contract_price_item.total_price, rental_contract_price_item.is_one_time,"
-                       . " rental_contract_price_item.date_start, 
rental_contract_price_item.date_end";
-               }
-               else
-               {
-                       $cols = 'rental_contract_price_item.*, 
rental_price_item.type';
-               }
-               
-               $tables = "rental_contract_price_item";
-//             $joins = "";
-               $joins = "{$this->join} rental_price_item ON 
(rental_price_item.id = rental_contract_price_item.price_item_id)";
 
-               //var_dump("SELECT {$cols} FROM {$tables} {$joins} WHERE 
{$condition} {$order}");
-               return "SELECT {$cols} FROM {$tables} {$joins} WHERE 
{$condition} {$order}";
-       }
-       
-       protected function populate(int $price_item_id, &$price_item)
-       {
-               if($price_item == null)
+               /**
+                * Update the database values for an existing contract price 
item.
+                *
+                * @param $price_item the contract price item to be updated
+                * @return result receipt from the db operation
+                */
+               protected function update($price_item)
                {
-                       $price_item = new 
rental_contract_price_item($this->unmarshal($this->db->f('id'),'int'));
-                       
$price_item->set_price_item_id($this->unmarshal($this->db->f('price_item_id'),'int'));
-                       
$price_item->set_contract_id($this->unmarshal($this->db->f('contract_id'),'int'));
-                       
$price_item->set_title($this->unmarshal($this->db->f('title'),'string'));
-                       
$price_item->set_agresso_id($this->unmarshal($this->db->f('agresso_id'),'string'));
-                       
$price_item->set_is_area($this->unmarshal($this->db->f('is_area'),'bool'));
-                       
$price_item->set_is_one_time($this->unmarshal($this->db->f('is_one_time'),'bool'));
-                       
$price_item->set_is_billed($this->unmarshal($this->db->f('is_billed'),'bool'));
-                       
$price_item->set_price($this->unmarshal($this->db->f('price'),'float'));
-                       
$price_item->set_area($this->unmarshal($this->db->f('area'),'float'));
-                       
$price_item->set_count($this->unmarshal($this->db->f('count'),'int'));
-                       
$price_item->set_total_price($this->unmarshal($this->db->f('total_price'),'float'));
-                       
$price_item->set_date_start($this->unmarshal($this->db->f('date_start'),'int'));
-                       
$price_item->set_date_end($this->unmarshal($this->db->f('date_end'),'int'));
-                       $price_type_id  = (int)$this->db->f('type');
-                       $price_item->set_price_type_id($price_type_id);
-                       $price_item->set_price_type_title($price_type_id);
-               }
-               return $price_item;
-       }
-       
-       /**
-        * Add a new contract_price_item to the database from import.  Adds the 
new insert id to the object reference.
-        * 
-        * @param $price_item the contract_price_item to be added
-        * @return mixed receipt from the db operation
-        */
-       public function import(&$price_item)
-       {
-               $price = $price_item->get_price() ? $price_item->get_price() : 
0;
-               $total_price = $price_item->get_total_price() ? 
$price_item->get_total_price() : 0;
-               $rented_area = $price_item->get_area();
+                       $id = intval($price_item->get_id());
 
-               // Build a db-friendly array of the composite object
-               $values = array(
-                       $price_item->get_price_item_id(),
-                       $price_item->get_contract_id(),
-                       '\'' . $price_item->get_title() . '\'',
-                       '\'' . $price_item->get_agresso_id() . '\'',
-                       ($price_item->is_area() ? "true" : "false"),
-                       str_replace(',','.',$price),
-                       str_replace(',','.',$rented_area),
-                       str_replace(',','.',$price_item->get_count()),
-                       str_replace(',','.',$total_price),
-                       ($price_item->is_billed() ? "true" : "false")
-               );
-               
-               $cols = array('price_item_id', 'contract_id', 'title', 
'agresso_id', 'is_area', 'price', 'area', 'count', 'total_price', 'is_billed');
-               
-               if ($price_item->get_date_start()) {
-                       $values[] = 
$this->marshal($price_item->get_date_start(), 'int');
-                       $cols[] = 'date_start';
-               }
-               
-               if ($price_item->get_date_end()) {
-                       $values[] = $this->marshal($price_item->get_date_end(), 
'int');
-                       $cols[] = 'date_end';
-               }
-               
-               $q ="INSERT INTO rental_contract_price_item (" . join(',', 
$cols) . ") VALUES (" . join(',', $values) . ")";
+                       $price = $price_item->get_price() ? 
$price_item->get_price() : 0;
+                       //$total_price = $price_item->get_total_price() ? 
$price_item->get_total_price() : 0;
+                       //if($total_price == 0){
+                       //}
 
-               $result = $this->db->query($q);
-               $receipt['id'] = 
$this->db->get_last_insert_id("rental_contract_price_item", 'id');
-               
-               $price_item->set_id($receipt['id']);
-               
-               return $receipt;
-       }
-       
-       /**
-        * Add a new contract_price_item to the database.  Adds the new insert 
id to the object reference.
-        * 
-        * @param $price_item the contract_price_item to be added
-        * @return mixed receipt from the db operation
-        */
-       protected function add(&$price_item)
-       {
-               $price = $price_item->get_price() ? $price_item->get_price() : 
0;
-               $total_price = $price_item->get_total_price() ? 
$price_item->get_total_price() : 0;
-               $rented_area = $price_item->get_area();
-               $contract = 
rental_socontract::get_instance()->get_single($price_item->get_contract_id);
-               if($price_item->is_area()){
-                       $rented_area = $contract->get_rented_area();
-                       if($rented_area == ''){
-                               $rented_area = 0;
+                       if($price_item->is_area())
+                       {
+                               $total_price = $price_item->get_area() * 
$price_item->get_price();
                        }
-                       $total_price = ($rented_area * $price);
-               }
+                       else
+                       {
+                               $total_price = $price_item->get_count() * 
$price_item->get_price();
+                       }
 
-               // Build a db-friendly array of the composite object
-               $values = array(
-                       $price_item->get_price_item_id(),
-                       $price_item->get_contract_id(),
-                       '\'' . $price_item->get_title() . '\'',
-                       '\'' . $price_item->get_agresso_id() . '\'',
-                       ($price_item->is_area() ? "true" : "false"),
-                       str_replace(',','.',$price),
-                       str_replace(',','.',$rented_area),
-                       str_replace(',','.',$price_item->get_count()),
-                       str_replace(',','.',$total_price),
-                       ($price_item->is_one_time() ? "true" : "false"),
-                       ($price_item->is_billed() ? "true" : "false")
-               );
-               
-               $cols = array('price_item_id', 'contract_id', 'title', 
'agresso_id', 'is_area', 'price', 'area', 'count', 'total_price', 
'is_one_time', 'is_billed');
-               
-               if ($price_item->get_date_start()) {
-                       $values[] = 
$this->marshal($price_item->get_date_start(), 'int');
-                       $cols[] = 'date_start';
-               }
-               
-               if ($price_item->get_date_end()) {
-                       $values[] = $this->marshal($price_item->get_date_end(), 
'int');
-                       $cols[] = 'date_end';
-               }
-               
-               $q ="INSERT INTO rental_contract_price_item (" . join(',', 
$cols) . ") VALUES (" . join(',', $values) . ")";
+                       // Build a db-friendly array of the composite object
+                       $values = array(
+                               "price_item_id=" . 
$price_item->get_price_item_id(),
+                               "contract_id=" . $price_item->get_contract_id(),
+                               "title=" . '\'' . $price_item->get_title() . 
'\'',
+                               "area=" . str_replace(',', '.', 
$price_item->get_area()),
+                               "count=" . str_replace(',', '.', 
$price_item->get_count()),
+                               "agresso_id=" . '\'' . 
$price_item->get_agresso_id() . '\'',
+                               "is_area=" . ($price_item->is_area() ? "true" : 
"false"),
+                               "price=" . str_replace(',', '.', $price),
+                               "total_price=" . str_replace(',', '.', 
$total_price),
+                               "date_start=" . 
$this->marshal($price_item->get_date_start(), 'int'),
+                               "date_end=" . 
$this->marshal($price_item->get_date_end(), 'int'),
+                               "is_one_time=" . 
($price_item->get_is_one_time() == "true" ? "true" : "false"),
+                               "is_billed=" . ($price_item->is_billed() ? 
"true" : "false")
+                       );
+                       $this->db->query('UPDATE rental_contract_price_item SET 
' . join(',', $values) . " WHERE id=$id", __LINE__, __FILE__);
 
-               $result = $this->db->query($q);
-               $receipt['id'] = 
$this->db->get_last_insert_id("rental_contract_price_item", 'id');
-               
-               $price_item->set_id($receipt['id']);
-               
-               return $receipt;
-       }
-       
-       /**
-        * Update the database values for an existing contract price item.
-        * 
-        * @param $price_item the contract price item to be updated
-        * @return result receipt from the db operation
-        */
-       protected function update($price_item)
-       {
-               $id = intval($price_item->get_id());
-               
-               $price = $price_item->get_price() ? $price_item->get_price() : 
0;
-               //$total_price = $price_item->get_total_price() ? 
$price_item->get_total_price() : 0;
-               //if($total_price == 0){
-                       
-               //}
-               
-               if($price_item->is_area()){
-                       $total_price = $price_item->get_area() * 
$price_item->get_price();
+                       $receipt['id']                   = $id;
+                       $receipt['message'][]    = array('msg' => lang('Entity 
%1 has been updated', $entry['id']));
+                       return $receipt;
                }
-               else{
-                       $total_price = $price_item->get_count() * 
$price_item->get_price();
-               }
 
-               // Build a db-friendly array of the composite object
-               $values = array(
-                       "price_item_id=" . $price_item->get_price_item_id(),
-                       "contract_id=" . $price_item->get_contract_id(),
-                       "title=" . '\'' . $price_item->get_title() . '\'',
-                       "area=" . str_replace(',','.',$price_item->get_area()),
-                       "count=" . 
str_replace(',','.',$price_item->get_count()),
-                       "agresso_id=" . '\'' . $price_item->get_agresso_id() . 
'\'',
-                       "is_area=" . ($price_item->is_area() ? "true" : 
"false"),
-                       "price=" . str_replace(',','.',$price),
-                       "total_price=" . str_replace(',','.',$total_price),
-                       "date_start=" . 
$this->marshal($price_item->get_date_start(), 'int'),
-                       "date_end=" . 
$this->marshal($price_item->get_date_end(), 'int'),
-                       "is_one_time=" . ($price_item->get_is_one_time() == 
"true" ? "true" : "false"),
-                       "is_billed=" . ($price_item->is_billed() ? "true" : 
"false")
-               );
-               $this->db->query('UPDATE rental_contract_price_item SET ' . 
join(',', $values) . " WHERE id=$id", __LINE__,__FILE__);
-               
-               $receipt['id'] = $id;
-               $receipt['message'][] = array('msg'=>lang('Entity %1 has been 
updated', $entry['id']));
-               return $receipt;
-       }
-       
-       /**
-        * Select total sum of all "active" price-items on a contract.
-        * 
-        * @param $contract_id  the id of the contract to generate total price 
on 
-        * @return total_price  the total price
-        */
-       public function get_total_price($contract_id){
-               $ts_query = strtotime(date('Y-m-d')); // timestamp for query 
(today)
-               //$this->db->query("SELECT sum(rcpi.total_price::numeric) AS 
sum_total FROM rental_contract_price_item rcpi, rental_price_item rpi WHERE 
rpi.id = rcpi.price_item_id AND NOT rpi.is_one_time AND 
rcpi.contract_id={$contract_id} AND ((rcpi.date_start <= {$ts_query} AND 
rcpi.date_end >= {$ts_query}) OR (rcpi.date_start <= {$ts_query} AND 
(rcpi.date_end is null OR rcpi.date_end = 0)) OR (rcpi.date_start is null AND 
(rcpi.date_end >= {$ts_query} OR rcpi.date_end is null)))");
+               /**
+                * Select total sum of all "active" price-items on a contract.
+                *
+                * @param $contract_id  the id of the contract to generate 
total price on
+                * @return total_price  the total price
+                */
+               public function get_total_price($contract_id)
+               {
+                       $ts_query = strtotime(date('Y-m-d')); // timestamp for 
query (today)
+                       //$this->db->query("SELECT 
sum(rcpi.total_price::numeric) AS sum_total FROM rental_contract_price_item 
rcpi, rental_price_item rpi WHERE rpi.id = rcpi.price_item_id AND NOT 
rpi.is_one_time AND rcpi.contract_id={$contract_id} AND ((rcpi.date_start <= 
{$ts_query} AND rcpi.date_end >= {$ts_query}) OR (rcpi.date_start <= 
{$ts_query} AND (rcpi.date_end is null OR rcpi.date_end = 0)) OR 
(rcpi.date_start is null AND (rcpi.date_end >= {$ts_query} OR rcpi.date_end is 
null)))");
 //             $this->db->query("SELECT sum(total_price::numeric) AS sum_total 
FROM rental_contract_price_item WHERE NOT is_one_time AND 
contract_id={$contract_id}");
-               $this->db->query("SELECT sum(total_price::numeric) AS sum_total 
FROM rental_contract_price_item WHERE contract_id={$contract_id} AND (NOT 
is_one_time OR NOT is_billed)");
-               if($this->db->next_record()){
-                       $total_price = $this->db->f('sum_total');
-                       return $total_price;
+                       $this->db->query("SELECT sum(total_price::numeric) AS 
sum_total FROM rental_contract_price_item WHERE contract_id={$contract_id} AND 
(NOT is_one_time OR NOT is_billed)");
+                       if($this->db->next_record())
+                       {
+                               $total_price = $this->db->f('sum_total');
+                               return $total_price;
+                       }
                }
-       }
-       
-       /**
-        * Select total sum of all "active" price-items on a contract for 
invoice-generation.
-        * 
-        * @param $contract_id  the id of the contract to generate total price 
on 
-        * @return total_price  the total price
-        */
-       public function get_total_price_invoice($contract_id, $billing_term, 
$month, $year){
-               $billing_term_id = (int)$billing_term;
-               $sql = "SELECT months FROM rental_billing_term WHERE id = 
{$billing_term_id}";
-               $result = $this->db->query($sql);
-               if(!$result)
+
+               /**
+                * Select total sum of all "active" price-items on a contract 
for invoice-generation.
+                * 
+                * @param $contract_id  the id of the contract to generate 
total price on 
+                * @return total_price  the total price
+                */
+               public function get_total_price_invoice($contract_id, 
$billing_term, $month, $year)
                {
-                       return;
+                       $billing_term_id = (int)$billing_term;
+                       $sql                     = "SELECT months FROM 
rental_billing_term WHERE id = {$billing_term_id}";
+                       $result                  = $this->db->query($sql);
+                       if(!$result)
+                       {
+                               return;
+                       }
+                       if(!$this->db->next_record())
+                       {
+                               return;
+                       }
+                       $months                  = 
$this->unmarshal($this->db->f('months', true), 'int');
+                       $timestamp_end   = strtotime("{$year}-{$month}-01"); // 
The first day in the month to bill for
+                       if($months == 1)
+                       {
+                               $timestamp_start = $timestamp_end; // The first 
day of the period to bill for
+                       }
+                       else
+                       {
+                               $months                  = $months - 1;
+                               $timestamp_start = strtotime("-{$months} 
months", $timestamp_end); // The first day of the period to bill for
+                       }
+                       $timestamp_end = strtotime('+1 month', $timestamp_end); 
// The first day in the month after the one to bill for
+                       //$this->db->query("SELECT 
sum(rcpi.total_price::numeric) AS sum_total FROM rental_contract_price_item 
rcpi, rental_price_item rpi WHERE rpi.id = rcpi.price_item_id AND NOT 
rpi.is_one_time AND rcpi.contract_id={$contract_id} AND ((rcpi.date_start <= 
{$ts_query} AND rcpi.date_end >= {$ts_query}) OR (rcpi.date_start <= 
{$ts_query} AND (rcpi.date_end is null OR rcpi.date_end = 0)) OR 
(rcpi.date_start is null AND (rcpi.date_end >= {$ts_query} OR rcpi.date_end is 
null)))");
+                       $q_total_price = "SELECT sum(total_price::numeric) AS 
sum_total ";
+                       $q_total_price .= "FROM rental_contract_price_item ";
+                       $q_total_price .= "WHERE contract_id={$contract_id} ";
+                       $q_total_price .= "AND NOT is_billed ";
+                       $q_total_price .= "AND ((NOT date_start IS NULL AND 
date_start < {$timestamp_end}) OR date_start IS NULL) ";
+                       $q_total_price .= "AND ((NOT date_end IS NULL AND 
date_end >= {$timestamp_start}) OR date_end IS NULL)";
+                       $this->db->query($q_total_price);
+                       if($this->db->next_record())
+                       {
+                               $total_price = $this->db->f('sum_total');
+                               return $total_price;
+                       }
                }
-               if(!$this->db->next_record())
+
+               /**
+                * Select max area of all "active" price-items on a contract.
+                *
+                * @param $contract_id  the id of the contract to generate 
total price on
+                * @return max_area     the max area
+                */
+               public function get_max_area($contract_id)
                {
-                       return;
+                       $this->db->query("SELECT max(area) AS max_area FROM 
rental_contract_price_item WHERE contract_id={$contract_id} AND is_area");
+                       if($this->db->next_record())
+                       {
+                               $max_area = $this->db->f('max_area');
+                               return $max_area;
+                       }
                }
-               $months = $this->unmarshal($this->db->f('months', true), 'int');
-               $timestamp_end = strtotime("{$year}-{$month}-01"); // The first 
day in the month to bill for
-               if($months == 1){
-                       $timestamp_start = $timestamp_end; // The first day of 
the period to bill for
-               }else{
-                       $months = $months-1;
-                       $timestamp_start = strtotime("-{$months} months", 
$timestamp_end); // The first day of the period to bill for
-               }
-               $timestamp_end = strtotime('+1 month', $timestamp_end); // The 
first day in the month after the one to bill for
-               
-               //$this->db->query("SELECT sum(rcpi.total_price::numeric) AS 
sum_total FROM rental_contract_price_item rcpi, rental_price_item rpi WHERE 
rpi.id = rcpi.price_item_id AND NOT rpi.is_one_time AND 
rcpi.contract_id={$contract_id} AND ((rcpi.date_start <= {$ts_query} AND 
rcpi.date_end >= {$ts_query}) OR (rcpi.date_start <= {$ts_query} AND 
(rcpi.date_end is null OR rcpi.date_end = 0)) OR (rcpi.date_start is null AND 
(rcpi.date_end >= {$ts_query} OR rcpi.date_end is null)))");
-               $q_total_price = "SELECT sum(total_price::numeric) AS sum_total 
";
-               $q_total_price .= "FROM rental_contract_price_item ";
-               $q_total_price .= "WHERE contract_id={$contract_id} ";
-               $q_total_price .= "AND NOT is_billed ";
-               $q_total_price .= "AND ((NOT date_start IS NULL AND date_start 
< {$timestamp_end}) OR date_start IS NULL) ";
-               $q_total_price .= "AND ((NOT date_end IS NULL AND date_end >= 
{$timestamp_start}) OR date_end IS NULL)";
-               $this->db->query($q_total_price);
-               if($this->db->next_record()){
-                       $total_price = $this->db->f('sum_total');
-                       return $total_price;
-               }
-       }
-       
-       /**
-        * Select max area of all "active" price-items on a contract.
-        * 
-        * @param $contract_id  the id of the contract to generate total price 
on 
-        * @return max_area     the max area
-        */
-       public function get_max_area($contract_id){
-               $this->db->query("SELECT max(area) AS max_area FROM 
rental_contract_price_item WHERE contract_id={$contract_id} AND is_area");
-               if($this->db->next_record()){
-                       $max_area = $this->db->f('max_area');
-                       return $max_area;
-               }
-       }
-       
-}
-?>
\ No newline at end of file
+       }
\ No newline at end of file

Modified: branches/Version-1_0-branch/rental/inc/model/class.invoice.inc.php
===================================================================
--- branches/Version-1_0-branch/rental/inc/model/class.invoice.inc.php  
2015-09-11 08:08:01 UTC (rev 13879)
+++ branches/Version-1_0-branch/rental/inc/model/class.invoice.inc.php  
2015-09-11 08:24:24 UTC (rev 13880)
@@ -261,7 +261,7 @@
                 * @param bool $bill_only_one_time      flag to indicate if the 
the invoice should only bil one time price elements
                 * @return rental_invoice       the newly created invoice
                 */
-               public static function create_invoice(int $decimals, int 
$billing_id, int $contract_id, bool $override,int $timestamp_invoice_start, int 
$timestamp_invoice_end, $bill_only_one_time, $dry_run = false)
+               public static function create_invoice(int $decimals, int 
$billing_id, int $contract_id, bool $override,int $timestamp_invoice_start, int 
$timestamp_invoice_end, $bill_only_one_time, $dry_run = false, $billing_term = 
0)
                {
                        $contract = 
rental_socontract::get_instance()->get_single($contract_id);
                        
@@ -317,7 +317,15 @@
                        // Retrieve the contract price items: only one-time or 
all
                        if($bill_only_one_time)
                        {
-                               $contract_price_items = 
rental_socontract_price_item::get_instance()->get(null, null, null, null, null, 
null, array('contract_id' => $contract->get_id(), 'one_time' => true));
+                                $filters2 = array('contract_id' => 
$contract->get_id(), 
+                                                'contract_ids_one_time' => 
true, 
+                                                'billing_term_id' => 
$billing_term, 
+                                                'year' => date('Y', 
$timestamp_invoice_start), 
+                                                'month' => date('m', 
$timestamp_invoice_start));
+                               //$contract_price_items = 
$socontract_price_item->get($start_index, $num_of_objects, $sort_field, 
$sort_ascending, $search_for, $search_type, $filters2);
+                               
+                               $contract_price_items = 
rental_socontract_price_item::get_instance()->get(null, null, null, null, null, 
null, $filters2);
+                                //$contract_price_items = 
rental_socontract_price_item::get_instance()->get(null, null, null, null, null, 
null, array('contract_id' => $contract->get_id(), 'one_time' => true));
                        }
                        else
                        {




reply via email to

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