338 lines
11 KiB
PHP
338 lines
11 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
if (!defined('sugarEntry') || !sugarEntry)
|
||
|
|
die('Not A Valid Entry Point');
|
||
|
|
|
||
|
|
/* * ***************************************************************************
|
||
|
|
* The contents of this file are subject to the RECIPROCAL PUBLIC LICENSE
|
||
|
|
* Version 1.1 ("License"); You may not use this file except in compliance
|
||
|
|
* with the License. You may obtain a copy of the License at
|
||
|
|
* http://opensource.org/licenses/rpl.php. Software distributed under the
|
||
|
|
* License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND,
|
||
|
|
* either express or implied.
|
||
|
|
*
|
||
|
|
* You may:
|
||
|
|
* a) Use and distribute this code exactly as you received without payment or
|
||
|
|
* a royalty or other fee.
|
||
|
|
* b) Create extensions for this code, provided that you make the extensions
|
||
|
|
* publicly available and document your modifications clearly.
|
||
|
|
* c) Charge for a fee for warranty or support or for accepting liability
|
||
|
|
* obligations for your customers.
|
||
|
|
*
|
||
|
|
* You may NOT:
|
||
|
|
* a) Charge for the use of the original code or extensions, including in
|
||
|
|
* electronic distribution models, such as ASP (Application Service
|
||
|
|
* Provider).
|
||
|
|
* b) Charge for the original source code or your extensions other than a
|
||
|
|
* nominal fee to cover distribution costs where such distribution
|
||
|
|
* involves PHYSICAL media.
|
||
|
|
* c) Modify or delete any pre-existing copyright notices, change notices,
|
||
|
|
* or License text in the Licensed Software
|
||
|
|
* d) Assert any patent claims against the Licensor or Contributors, or
|
||
|
|
* which would in any way restrict the ability of any third party to use the
|
||
|
|
* Licensed Software.
|
||
|
|
*
|
||
|
|
* You must:
|
||
|
|
* a) Document any modifications you make to this code including the nature of
|
||
|
|
* the change, the authors of the change, and the date of the change.
|
||
|
|
* b) Make the source code for any extensions you deploy available via an
|
||
|
|
* Electronic Distribution Mechanism such as FTP or HTTP download.
|
||
|
|
* c) Notify the licensor of the availability of source code to your extensions
|
||
|
|
* and include instructions on how to acquire the source code and updates.
|
||
|
|
* d) Grant Licensor a world-wide, non-exclusive, royalty-free license to use,
|
||
|
|
* reproduce, perform, modify, sublicense, and distribute your extensions.
|
||
|
|
*
|
||
|
|
* The Original Code is: CommuniCore
|
||
|
|
* Olavo Farias
|
||
|
|
* 2006-04-7 olavo.farias@gmail.com
|
||
|
|
*
|
||
|
|
* The Initial Developer of the Original Code is CommuniCore.
|
||
|
|
* Portions created by CommuniCore are Copyright (C) 2005 CommuniCore Ltda
|
||
|
|
*
|
||
|
|
* All Rights Reserved.
|
||
|
|
* ****************************************************************************** */
|
||
|
|
|
||
|
|
$json = getJSONobj();
|
||
|
|
|
||
|
|
$pll = array();
|
||
|
|
$i = 0;
|
||
|
|
|
||
|
|
while (isset($_POST['p_' . $i])) {
|
||
|
|
$pll[] = $json->decode(htmlspecialchars_decode($_POST['p_' . $i]));
|
||
|
|
$_POST['p_' . $i] = '';
|
||
|
|
$i++;
|
||
|
|
}
|
||
|
|
|
||
|
|
$_POST = $json->decode(htmlspecialchars_decode($_POST['otherFormData']));
|
||
|
|
$_POST['position_list'] = $pll;
|
||
|
|
|
||
|
|
$_REQUEST = $_POST;
|
||
|
|
|
||
|
|
require_once("modules/EcmReceipts/EcmReceipt.php");
|
||
|
|
require_once('include/formbase.php');
|
||
|
|
|
||
|
|
$focus = new EcmReceipt();
|
||
|
|
|
||
|
|
if (isset($_POST['record']) && $_POST['record'] != '') {
|
||
|
|
|
||
|
|
$focus->retrieve($_POST['record']);
|
||
|
|
//$focus->id = $_POST['record'];
|
||
|
|
}
|
||
|
|
|
||
|
|
if (isset($focus->id) && $focus->id != '') {
|
||
|
|
$_POST['email_id'] = $focus->email_id;
|
||
|
|
} else {
|
||
|
|
$new_invoice = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (!$focus->ACLAccess('Save')) {
|
||
|
|
ACLController::displayNoAccess(true);
|
||
|
|
sugar_cleanup(true);
|
||
|
|
}
|
||
|
|
|
||
|
|
//if (!empty($_POST['assigned_user_id']) && ($focus->assigned_user_id != $_POST['assigned_user_id']) && ($_POST['assigned_user_id'] != $current_user->id)) {
|
||
|
|
// $check_notify = true;
|
||
|
|
//} else {
|
||
|
|
// $check_notify = false;
|
||
|
|
//}
|
||
|
|
|
||
|
|
$check_notify = false;
|
||
|
|
|
||
|
|
//$json = getJSONobj();
|
||
|
|
//$wi = $json->decode(htmlspecialchars_decode($_POST['work_items']));
|
||
|
|
//$focus->work_items = $wi;
|
||
|
|
//echo var_export($_POST['document_no'], true);exit;
|
||
|
|
|
||
|
|
// ~
|
||
|
|
|
||
|
|
// array (
|
||
|
|
// 'module' => 'EcmReceipts',
|
||
|
|
// 'action' => 'Save',
|
||
|
|
// 'record' => '',
|
||
|
|
// 'to_pdf' => '1',
|
||
|
|
// 'cache' => 'fromJava',
|
||
|
|
// 'isDuplicate' => 'false',
|
||
|
|
// 'return_module' => 'EcmReceipts',
|
||
|
|
// 'return_action' => 'DetailView',
|
||
|
|
// 'return_id' => '',
|
||
|
|
// 'contact_role' => '',
|
||
|
|
// 'relate_to' => 'EcmReceipts',
|
||
|
|
// 'relate_id' => '',
|
||
|
|
// 'offset' => '1',
|
||
|
|
// 'position_list' =>
|
||
|
|
// array (
|
||
|
|
// 0 =>
|
||
|
|
// array (
|
||
|
|
// 'index' => '1',
|
||
|
|
// 'code' => '020099',
|
||
|
|
// 'id' => '7a571024-02c2-7c7c-2429-501aa098386e',
|
||
|
|
// 'category_id' => '',
|
||
|
|
// 'currency_id' => 'undefined',
|
||
|
|
// 'currency_symbol' => 'undefined',
|
||
|
|
// 'ecmstockdocout_id' => '',
|
||
|
|
// 'temp_item_id' => '',
|
||
|
|
// 'temp_date' => '',
|
||
|
|
// 'type' => '',
|
||
|
|
// 'parent_doc_id' => '',
|
||
|
|
// 'parent_doc_type' => '',
|
||
|
|
// 'parent_doc_item_id' => '',
|
||
|
|
// 'name' => 'IV53 TŁOK 82MM ACX83D',
|
||
|
|
// 'quantity' => 1,
|
||
|
|
// 'startprice' => 1,
|
||
|
|
// 'pricehelper' => 1.23,
|
||
|
|
// 'discount' => 0,
|
||
|
|
// 'vat_value' => '23.00',
|
||
|
|
// 'vat_id' => '9ec174d1-db5e-8db6-9195-4e6e4a041e40',
|
||
|
|
// 'subprice' => 1,
|
||
|
|
// 'price' => 1.23,
|
||
|
|
// 'unit_id' => 'undefined',
|
||
|
|
// 'unit_name' => 'undefined',
|
||
|
|
// 'subtotal' => 1,
|
||
|
|
// 'total' => 1.23,
|
||
|
|
// 'stock' => 3,
|
||
|
|
// 'reserved' => '1',
|
||
|
|
// 'parent_doc_rq' => '',
|
||
|
|
// ),
|
||
|
|
// ),
|
||
|
|
// 'parent_type' => 'Accounts',
|
||
|
|
// 'parent_doc_id' => '',
|
||
|
|
// 'temp_id' => 'bd271276-1487-8083-bb80-5237f29820ab',
|
||
|
|
// 'ecmlanguage' => 'pl_pl',
|
||
|
|
// 'button' => 'test',
|
||
|
|
// 'document_no' => '18/2013',
|
||
|
|
// 'number' => '2013091718',
|
||
|
|
// 'assigned_user_name' => 'Michał Zieliński',
|
||
|
|
// 'assigned_user_id' => '1',
|
||
|
|
// 'btn_assigned_user_name' => 'Wybierz',
|
||
|
|
// 'btn_clr_assigned_user_name' => 'Wyczyść',
|
||
|
|
// 'parent_name' => '"AGROPOL" CZĘŚCI ZAMIENNE WŁODZIMIERZ KAPUSTA',
|
||
|
|
// 'parent_id' => '2248712',
|
||
|
|
// 'btn_parent_name' => 'Wybierz',
|
||
|
|
// 'btn_clr_parent_name' => 'Wyczyść',
|
||
|
|
// 'type' => '0',
|
||
|
|
// 'template_id' => 'ef0c4dea-ddf3-de51-9d08-512257d4b675',
|
||
|
|
// 'template_name' => 'BSL Truck',
|
||
|
|
// 'register_date' => '17.09.2013',
|
||
|
|
// 'sell_date' => '17.09.2013',
|
||
|
|
// 'stock_id' => '2962f1ad-79f4-a1ad-385e-4f286ad7acb5',
|
||
|
|
// 'name' => '',
|
||
|
|
// 'payment_date_d' => '',
|
||
|
|
// 'prepaid' => '',
|
||
|
|
// 'payment_date' => '17.09.2013',
|
||
|
|
// 'prepaid_nr' => '',
|
||
|
|
// 'payment_method' => '',
|
||
|
|
// 'paid_val' => '',
|
||
|
|
// 'payment_method_paid' => '',
|
||
|
|
// 'parent_name_copy' => '"AGROPOL" CZĘŚCI ZAMIENNE WŁODZIMIERZ KAPUSTA',
|
||
|
|
// 'to_nip' => '754-006-99-44',
|
||
|
|
// 'parent_contact_name' => '',
|
||
|
|
// 'currency_id' => 'PLN',
|
||
|
|
// 'parent_contact_title' => '',
|
||
|
|
// 'currency_value' => '',
|
||
|
|
// 'parent_address_street' => 'WRZOSKI, UL. LEŚNA 2',
|
||
|
|
// 'pdf_type' => 'K',
|
||
|
|
// 'parent_address_postalcode' => '46-073',
|
||
|
|
// 'parent_address_city' => 'CHRÓŚCINA',
|
||
|
|
// 'parent_address_country' => '',
|
||
|
|
// 'parent_shipping_address_name' => '',
|
||
|
|
// 'parent_shipping_address_street' => '',
|
||
|
|
// 'parent_shipping_address_postalcode' => '',
|
||
|
|
// 'parent_shipping_address_city' => '',
|
||
|
|
// 'parent_shipping_address_country' => '',
|
||
|
|
// 'code_p' => '020099',
|
||
|
|
// 'id_p' => '7a571024-02c2-7c7c-2429-501aa098386e',
|
||
|
|
// 'category_id_p' => '',
|
||
|
|
// 'currency_id_p' => 'undefined',
|
||
|
|
// 'currency_symbol_p' => 'undefined',
|
||
|
|
// 'ecmstockdocout_id' => '',
|
||
|
|
// 'temp_item_id_p' => '',
|
||
|
|
// 'temp_date_p' => '',
|
||
|
|
// 'type_p' => '',
|
||
|
|
// 'parent_doc_type' => '',
|
||
|
|
// 'parent_doc_item_id' => '',
|
||
|
|
// 'name_p' => 'IV53 TŁOK 82MM ACX83D',
|
||
|
|
// 'quantity_p' => '1,00',
|
||
|
|
// 'vat_name_p' => '23%',
|
||
|
|
// 'vat_value_p' => '23.00',
|
||
|
|
// 'vat_id_p' => '9ec174d1-db5e-8db6-9195-4e6e4a041e40',
|
||
|
|
// 'unit_name_p' => 'undefined',
|
||
|
|
// 'unit_id_p' => 'undefined',
|
||
|
|
// 'stock_p' => '3,00',
|
||
|
|
// 'subtotal' => '1,00',
|
||
|
|
// 'total' => '1,23',
|
||
|
|
// 'footer_module' => 'EcmReceipts',
|
||
|
|
// 'footer_fields' => '$receipt_inside_inv_number',
|
||
|
|
// 'footer_field' => '$receipt_inside_inv_number',
|
||
|
|
// 'header_text' => '
|
||
|
|
// ',
|
||
|
|
// 'header_module' => 'EcmReceipts',
|
||
|
|
// 'header_fields' => '$receipt_inside_inv_number',
|
||
|
|
// 'header_field' => '$receipt_inside_inv_number',
|
||
|
|
// 'footer_text' => '
|
||
|
|
// ',
|
||
|
|
// 'ads_module' => 'EcmReceipts',
|
||
|
|
// 'ads_fields' => '$receipt_inside_inv_number',
|
||
|
|
// 'ads_field' => '$receipt_inside_inv_number',
|
||
|
|
// 'ads_text' => '
|
||
|
|
// ',
|
||
|
|
// );
|
||
|
|
|
||
|
|
// ~
|
||
|
|
|
||
|
|
// Weird unformat number ?
|
||
|
|
// $_POST['total'] = unformat_number(str_replace(array('.', ','), array('', '.'), $_POST['total']));
|
||
|
|
// $_POST['subtotal'] = unformat_number(str_replace(array('.', ','), array('', '.'), $_POST['subtotal']));
|
||
|
|
// dump($_POST);
|
||
|
|
// exit;
|
||
|
|
|
||
|
|
foreach ($focus->column_fields as $field) {
|
||
|
|
//echo var_export($field, true) . PHP_EOL;
|
||
|
|
//echo var_export($_POST[$field], true) . PHP_EOL;
|
||
|
|
|
||
|
|
//continue;
|
||
|
|
|
||
|
|
if (isset($_POST[$field])) {
|
||
|
|
$value = $_POST[$field];
|
||
|
|
$focus->$field = $value;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
foreach ($focus->additional_column_fields as $field) {
|
||
|
|
if (isset($_POST[$field])) {
|
||
|
|
$value = $_POST[$field];
|
||
|
|
$focus->$field = $value;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (isset($_POST['to_is_vat_free']) && $_POST['to_is_vat_free']) {
|
||
|
|
$focus->to_is_vat_free = 1;
|
||
|
|
} else {
|
||
|
|
$focus->to_is_vat_free = 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
$pl = $_POST['position_list'];
|
||
|
|
$focus->position_list = $pl;
|
||
|
|
|
||
|
|
//$focus->wz_id=$_POST['out_id'];
|
||
|
|
//$focus->paid_val = unformat_number($focus->paid_val);
|
||
|
|
//$focus->prepaid = unformat_number($focus->prepaid);
|
||
|
|
|
||
|
|
if ($focus->pdf_type == 'K') {
|
||
|
|
$focus->ecmlanguage = 'pl_pl';
|
||
|
|
} else {
|
||
|
|
$focus->ecmlanguage = 'en_us';
|
||
|
|
}
|
||
|
|
|
||
|
|
if(strlen($parent_name = $_POST['parent_name_copy'])) {
|
||
|
|
$focus->parent_name = $parent_name;
|
||
|
|
}
|
||
|
|
|
||
|
|
$focus->save($check_notify);
|
||
|
|
|
||
|
|
if (isset($_POST['out_module']) && $_POST['out_module'] == "EcmQuotes" && isset($_POST['out_id']) && $_POST['out_id'] != '') {
|
||
|
|
$query = "UPDATE ecmquotes SET status='s60' WHERE id='" . $_POST['out_id'] . "'";
|
||
|
|
$GLOBALS['db']->query($query);
|
||
|
|
}
|
||
|
|
|
||
|
|
if (isset($_POST['out_module']) && $_POST['out_module'] == "EcmStockDocOuts" && isset($_POST['out_id']) && $_POST['out_id'] != '') {
|
||
|
|
$query = "UPDATE ecmreceipts SET wz_id='" . $_POST['out_id'] . "' WHERE id='" . $focus->id . "'";
|
||
|
|
$GLOBALS['db']->query($query);
|
||
|
|
}
|
||
|
|
|
||
|
|
$return_id = $focus->id;
|
||
|
|
|
||
|
|
goto jump;
|
||
|
|
|
||
|
|
//$r = $GLOBALS[db]->fetchByAssoc($GLOBALS[db]->query("select type,document_no from ecmreceipts where id='" . $return_id . "'"));
|
||
|
|
//$file = "modules/EcmReceipts/xml/" . str_replace(" ", "", str_replace("/", "", $r['document_no'])) . ".xml";
|
||
|
|
//
|
||
|
|
//fopen($file);
|
||
|
|
//
|
||
|
|
//if ($r['type'] == "correct") {
|
||
|
|
// $xml = createCorrectInvoiceXml($return_id);
|
||
|
|
//} else {
|
||
|
|
// $xml = createInvoiceXml($return_id);
|
||
|
|
//}
|
||
|
|
//
|
||
|
|
//file_put_contents($file, $xml);
|
||
|
|
//chmod($file, 0777);
|
||
|
|
|
||
|
|
$pt = @$_POST['parent_type'];
|
||
|
|
$pdid = @$_POST['parent_doc_id'];
|
||
|
|
|
||
|
|
// Close service.
|
||
|
|
if ($pt == 'Service') {
|
||
|
|
$usQuery = 'UPDATE `ecmservices` SET `status` = \'closed\' WHERE `id` = \'' . $pdid . '\';';
|
||
|
|
$GLOBALS['db']->query($usQuery);
|
||
|
|
|
||
|
|
$drQuery = 'DELETE FROM `ecmreservations` WHERE `doc_id` = \'' . $pdid . '\';';
|
||
|
|
$GLOBALS['db']->query($drQuery);
|
||
|
|
}
|
||
|
|
|
||
|
|
jump:
|
||
|
|
|
||
|
|
echo $return_id;
|
||
|
|
die();
|
||
|
|
|
||
|
|
//header("Location: index.php?module=EcmReceipts&action=index");
|
||
|
|
//handleRedirect($return_id,'EcmReceipts');
|