init
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
<?php
|
||||
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
|
||||
/**
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
*/
|
||||
|
||||
|
||||
|
||||
global $current_user;
|
||||
|
||||
$dashletData['MyEcmQuotesDashlet']['searchFields'] = array('name' => array('default' => ''),
|
||||
'date_entered' => array('default' => ''),
|
||||
'status' => array('default' => ''),
|
||||
'assigned_user_id' => array('type' => 'assigned_user_name',
|
||||
'default' => $current_user->name));
|
||||
$dashletData['MyEcmQuotesDashlet']['columns'] = array(
|
||||
'STATUS' => array(
|
||||
'width' => '1',
|
||||
'label' => ' ',
|
||||
'default' => true,
|
||||
),
|
||||
'DOCUMENT_NO' => array(
|
||||
'width' => '8',
|
||||
'label' => 'LBL_DOCUMENT_NO',
|
||||
'sortable' => true,
|
||||
'link' => true,
|
||||
'default' => true,
|
||||
),
|
||||
'NAME' => array(
|
||||
'width' => '15',
|
||||
'label' => 'LBL_NAME',
|
||||
'sortable' => true,
|
||||
'link' => false,
|
||||
//'customCode' => '<a href="index.php?module=EcmQuotes&action=EditView&record={$ID}">{$NAME}</a>',
|
||||
'default' => true,
|
||||
),
|
||||
'REGISTER_DATE'=>array(
|
||||
'width'=>15,
|
||||
'label'=>'LBL_REGISTER_DATE',
|
||||
'default'=>true,
|
||||
'sortable'=>true,
|
||||
),
|
||||
'PARENT_ID'=>array(
|
||||
'width'=>0,
|
||||
'label'=>' ',
|
||||
'customCode'=>' ',
|
||||
'default'=>true,
|
||||
'sortable'=>false,
|
||||
),
|
||||
'PARENT_NAME' => array(
|
||||
'width' => '15',
|
||||
'label' => 'LBL_PARENT_NAME',
|
||||
'default' => true,
|
||||
'id'=>'PARENT_ID',
|
||||
'module'=>'Accounts',
|
||||
'link'=>true,
|
||||
),
|
||||
'TOTAL' => array(
|
||||
'width' => '10',
|
||||
'label' => 'LBL_TOTAL',
|
||||
'default' => true,
|
||||
'align' => 'left',
|
||||
),
|
||||
|
||||
'ASSIGNED_USER_NAME' => array(
|
||||
'width' => '10',
|
||||
'label' => 'LBL_LIST_ASSIGNED_USER',
|
||||
'default' => true
|
||||
),
|
||||
'OPTIONS' => array(
|
||||
'width' => '5',
|
||||
'label' => ' ',
|
||||
'link' => false,
|
||||
'default' => true,
|
||||
'sortable' => false,
|
||||
'align' => 'right',
|
||||
),
|
||||
|
||||
'date_entered' => array('width' => '15',
|
||||
'label' => 'LBL_DATE_ENTERED'),
|
||||
|
||||
|
||||
);
|
||||
|
||||
k
|
||||
?>
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
|
||||
/**
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
*/
|
||||
|
||||
|
||||
|
||||
global $app_strings;
|
||||
|
||||
$dashletMeta['MyEcmQuotesDashlet'] = array('module' => 'EcmQuotes',
|
||||
'title' => translate('LBL_DASHLET_MY_ECMQUOTES', 'EcmQuotes'),
|
||||
'description' => 'A customizable view into Quotes',
|
||||
'category' => 'Module Views',
|
||||
'hidden' => true);
|
||||
?>
|
||||
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
|
||||
/**
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
require_once('include/Dashlets/DashletGeneric.php');
|
||||
require_once('modules/EcmQuotes/EcmQuote.php');
|
||||
|
||||
class MyEcmQuotesDashlet extends DashletGeneric {
|
||||
function MyEcmQuotesDashlet($id, $def = null) {
|
||||
global $current_user, $app_strings;
|
||||
require('modules/EcmQuotes/Dashlets/MyEcmQuotesDashlet/MyEcmQuotesDashlet.data.php');
|
||||
|
||||
parent::DashletGeneric($id, $def);
|
||||
|
||||
if(empty($def['title'])) $this->title = translate('LBL_DASHLET_MY_ECMQUOTES', 'EcmQuotes');
|
||||
|
||||
$this->searchFields = $dashletData['MyEcmQuotesDashlet']['searchFields'];
|
||||
$this->columns = $dashletData['MyEcmQuotesDashlet']['columns'];
|
||||
|
||||
$this->seedBean = new EcmQuote();
|
||||
$this->lvs->quickViewLinks = false;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
|
||||
/**
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
*/
|
||||
|
||||
|
||||
|
||||
global $current_user;
|
||||
|
||||
$dashletData['MyEcmStockDocCorrectsDashlet']['searchFields'] = array('name' => array('default' => ''),
|
||||
'date_entered' => array('default' => ''),
|
||||
'status' => array('default' => ''),
|
||||
'assigned_user_id' => array('type' => 'assigned_user_name',
|
||||
'default' => $current_user->name));
|
||||
$dashletData['MyEcmStockDocCorrectsDashlet']['columns'] = array(
|
||||
'STATUS' => array(
|
||||
'width' => '1',
|
||||
'label' => ' ',
|
||||
'default' => true,
|
||||
),
|
||||
'DOCUMENT_NO' => array(
|
||||
'width' => '8',
|
||||
'label' => 'LBL_DOCUMENT_NO',
|
||||
'sortable' => true,
|
||||
'link' => true,
|
||||
'default' => true,
|
||||
),
|
||||
'NAME' => array(
|
||||
'width' => '15',
|
||||
'label' => 'LBL_NAME',
|
||||
'sortable' => true,
|
||||
'link' => false,
|
||||
//'customCode' => '<a href="index.php?module=EcmStockDocCorrects&action=EditView&record={$ID}">{$NAME}</a>',
|
||||
'default' => true,
|
||||
),
|
||||
'REGISTER_DATE'=>array(
|
||||
'width'=>15,
|
||||
'label'=>'LBL_REGISTER_DATE',
|
||||
'default'=>true,
|
||||
'sortable'=>true,
|
||||
),
|
||||
'TOTAL' => array(
|
||||
'width' => '10',
|
||||
'label' => 'LBL_TOTAL',
|
||||
'default' => true,
|
||||
'align' => 'left',
|
||||
),
|
||||
|
||||
'ASSIGNED_USER_NAME' => array(
|
||||
'width' => '10',
|
||||
'label' => 'LBL_LIST_ASSIGNED_USER',
|
||||
'default' => true
|
||||
),
|
||||
'OPTIONS' => array(
|
||||
'width' => '5',
|
||||
'label' => ' ',
|
||||
'link' => false,
|
||||
'default' => true,
|
||||
'sortable' => false,
|
||||
'align' => 'right',
|
||||
),
|
||||
|
||||
'date_entered' => array('width' => '15',
|
||||
'label' => 'LBL_DATE_ENTERED'),
|
||||
|
||||
|
||||
);
|
||||
|
||||
k
|
||||
?>
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
|
||||
/**
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
*/
|
||||
|
||||
|
||||
|
||||
global $app_strings;
|
||||
|
||||
$dashletMeta['MyEcmStockDocCorrectsDashlet'] = array('module' => 'EcmStockDocCorrects',
|
||||
'title' => translate('LBL_DASHLET_MY_ECMQUOTES', 'EcmStockDocCorrects'),
|
||||
'description' => 'A customizable view into Quotes',
|
||||
'category' => 'Module Views',
|
||||
'hidden' => true);
|
||||
?>
|
||||
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
|
||||
/**
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
require_once('include/Dashlets/DashletGeneric.php');
|
||||
require_once('modules/EcmStockDocCorrects/EcmStockDocCorrect.php');
|
||||
|
||||
class MyEcmStockDocCorrectsDashlet extends DashletGeneric {
|
||||
function MyEcmStockDocCorrectsDashlet($id, $def = null) {
|
||||
global $current_user, $app_strings;
|
||||
require('modules/EcmStockDocCorrects/Dashlets/MyEcmStockDocCorrectsDashlet/MyEcmStockDocCorrectsDashlet.data.php');
|
||||
|
||||
parent::DashletGeneric($id, $def);
|
||||
|
||||
if(empty($def['title'])) $this->title = translate('LBL_DASHLET_MY_ECMQUOTES', 'EcmStockDocCorrects');
|
||||
|
||||
$this->searchFields = $dashletData['MyEcmStockDocCorrectsDashlet']['searchFields'];
|
||||
$this->columns = $dashletData['MyEcmStockDocCorrectsDashlet']['columns'];
|
||||
|
||||
$this->seedBean = new EcmStockDocCorrect();
|
||||
$this->lvs->quickViewLinks = false;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
70
modules/EcmStockDocCorrects/DetailView.php
Normal file
70
modules/EcmStockDocCorrects/DetailView.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
if (! defined ( 'sugarEntry' ) || ! sugarEntry)
|
||||
die ( 'Not A Valid Entry Point' );
|
||||
|
||||
// require_once('modules/EcmGroupSales/HeaderMenu.php');
|
||||
|
||||
global $sugar_version, $sugar_config, $current_user, $app_strings, $mod_strings;
|
||||
|
||||
require_once ('modules/EcmStockDocCorrects/EcmStockDocCorrect.php');
|
||||
require_once ('include/time.php');
|
||||
require_once ('include/json_config.php');
|
||||
|
||||
// add jquery
|
||||
echo '<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-table/jquery.appendGrid-1.3.1.css"/>';
|
||||
echo '<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-ui/themes/base/jquery-ui.css"/>';
|
||||
echo '<script type="text/javascript"
|
||||
src="include/jQuery/jquery-2.1.0.min.js"></script>';
|
||||
echo '<script type="text/javascript"
|
||||
src="include/jQuery/jquery-table/jquery.appendGrid-1.3.1.js"></script>';
|
||||
echo '<script type="text/javascript"
|
||||
src="include/jQuery/jquery-ui/ui/jquery-ui.js"></script>';
|
||||
|
||||
$json_config = new json_config ();
|
||||
|
||||
$focus = new EcmStockDocCorrect ();
|
||||
|
||||
if (isset ( $_REQUEST ['record'] )) {
|
||||
$focus->retrieve ( $_REQUEST ['record'] );
|
||||
$focus->format_all_fields ();
|
||||
$OPT ['status'] = $focus->status;
|
||||
}
|
||||
|
||||
require_once ('include/MVC/View/SugarView.php');
|
||||
require_once ('modules/EcmStockDocCorrects/views/DetailView/view.detail.my.php');
|
||||
$edit = new ViewDetailMy ();
|
||||
$edit->ss = new Sugar_Smarty ();
|
||||
$edit->module = 'EcmStockDocCorrects';
|
||||
|
||||
// add pdf buttons
|
||||
//$btn = '<input title="Generuj PDF" class="button" onclick="if($(\'#div_pdf\').css(\'display\') == \'none\'){$(\'#div_pdf\').show(\'slow\'); } else { $(\'#div_pdf\').hide(\'slow\'); }" type="button" name="productcard" id="productcard" value="Generuj PDF">';
|
||||
//$btn .= '<div id="div_pdf" style="border: 1px solid #cccccc;background:#e6e6e6;padding:5px;position:absolute;display:none;">';
|
||||
//$btn .= 'Typ: <select name="pdf_type" id="pdf_type"><option value="1">Dokument</option><option value="0">Operacje magazynowe</option></select><br /><br />';
|
||||
$btn .= '<input name="quote_pdf" id="quote_pdf" title="Show PDF" accessKey="" class="button" onclick="window.open(\'index.php?module=EcmStockDocCorrects&action=createPDF&to_pdf=1&pdf_type=\'+$(\'#pdf_type\').val()+\'&record=' . $_REQUEST ['record'] . '\',\'_blank\');" type="button" value="Pokaż PDF"></div>';
|
||||
$edit->ss->assign ( "CREATE_PDF", $btn );
|
||||
|
||||
$can_edit = false;
|
||||
global $current_user;
|
||||
|
||||
//get operations
|
||||
$db = $GLOBALS['db'];
|
||||
$out = $db->fetchByAssoc($db->query("SELECT sum(price*quantity) as sum FROM ecmstockoperations WHERE type='1' AND parent_id='".$focus->id."'"));
|
||||
$edit->ss->assign("OP_OUT", format_number($out['sum']));
|
||||
$in = $db->fetchByAssoc($db->query("SELECT sum(price*quantity) as sum FROM ecmstockoperations WHERE type='0' AND parent_id='".$focus->id."'"));
|
||||
$edit->ss->assign("OP_IN", format_number($in['sum']));
|
||||
|
||||
$edit->ss->assign ( "CREATED_BY_NAME", $focus->created_by_name );
|
||||
$edit->ss->assign ( "MODIFIED_BY_NAME", $focus->modified_by_name );
|
||||
|
||||
$edit->bean = $focus;
|
||||
$edit->tplFile = 'include/ECM/EcmViews/DetailView/Tabs/DetailView.tpl';
|
||||
|
||||
$edit->preDisplay ();
|
||||
echo $edit->display ();
|
||||
|
||||
require_once ('include/SubPanel/SubPanelTiles.php');
|
||||
$subpanel = new SubPanelTiles ( $focus, 'EcmStockDocCorrects' );
|
||||
echo $subpanel->display ();
|
||||
// loading view
|
||||
echo '<link rel="stylesheet" type="text/css" href="modules/EcmStockDocCorrects/javascript/helper.css" media="screen" /><div class="loading_panel"></div>';
|
||||
?>
|
||||
783
modules/EcmStockDocCorrects/EcmStockDocCorrect.php
Normal file
783
modules/EcmStockDocCorrects/EcmStockDocCorrect.php
Normal file
@@ -0,0 +1,783 @@
|
||||
<?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.
|
||||
* ******************************************************************************
|
||||
*/
|
||||
require_once ('data/SugarBean.php');
|
||||
require_once ('include/utils.php');
|
||||
class EcmStockDocCorrect extends SugarBean {
|
||||
var $field_name_map = array ();
|
||||
// STANDARD FIELDS
|
||||
var $id;
|
||||
var $date_entered;
|
||||
var $date_modified;
|
||||
var $modified_user_id;
|
||||
var $assigned_user_id;
|
||||
var $name;
|
||||
var $description;
|
||||
var $number;
|
||||
var $document_no;
|
||||
var $register_date;
|
||||
var $total;
|
||||
var $position_list;
|
||||
var $created_by;
|
||||
var $created_by_name;
|
||||
var $modified_by_name;
|
||||
var $assigned_user_name;
|
||||
var $stock_id;
|
||||
// SUBPANELS RELATED
|
||||
// MODULE OBJECT DETAILS
|
||||
var $module_dir = "EcmStockDocCorrects";
|
||||
var $table_name = "ecmstockdoccorrects";
|
||||
var $object_name = "EcmStockDocCorrect";
|
||||
// RELATED TABLE NAMES
|
||||
// USED TO RETRIEVE RELATED FIELDS FROM FORM POSTS.
|
||||
var $additional_column_fields = Array (
|
||||
'assigned_user_name',
|
||||
'assigned_user_id',
|
||||
'modified_user_id',
|
||||
'created_by'
|
||||
);
|
||||
// RELATIONSHIP FIELDS
|
||||
var $relationship_fields = Array (
|
||||
'note_id' => 'notes',
|
||||
);
|
||||
function EcmStockDocCorrect() {
|
||||
parent::SugarBean ();
|
||||
$this->setupCustomFields ( 'EcmStockDocCorrects' );
|
||||
foreach ( $this->field_defs as $field ) {
|
||||
$this->field_name_map [$field ['name']] = $field;
|
||||
}
|
||||
}
|
||||
var $new_schema = true;
|
||||
function get_summary_text() {
|
||||
return "$this->name";
|
||||
}
|
||||
function create_list_query($order_by, $where, $show_deleted = 0) {
|
||||
// Fill in the assigned_user_name
|
||||
$custom_join = $this->custom_fields->getJOIN ();
|
||||
$query = "SELECT ";
|
||||
$query .= "ecmstockdoccorrects.*
|
||||
,users.user_name as assigned_user_name";
|
||||
if ($custom_join) {
|
||||
$query .= $custom_join ['select'];
|
||||
}
|
||||
$query .= " FROM ecmstockdoccorrects
|
||||
LEFT JOIN users
|
||||
ON ecmstockdoccorrects.assigned_user_id=users.id";
|
||||
$query .= " ";
|
||||
if ($custom_join) {
|
||||
$query .= $custom_join ['join'];
|
||||
}
|
||||
$where_auto = '1=1';
|
||||
if ($show_deleted == 0) {
|
||||
$where_auto = " $this->table_name.deleted=0 ";
|
||||
} else if ($show_deleted == 1) {
|
||||
$where_auto = " $this->table_name.deleted=1 ";
|
||||
}
|
||||
if ($where != "")
|
||||
$query .= "where $where AND " . $where_auto;
|
||||
else
|
||||
$query .= "where " . $where_auto;
|
||||
if (substr_count ( $order_by, '.' ) > 0) {
|
||||
$query .= " ORDER BY $order_by";
|
||||
} else if ($order_by != "")
|
||||
$query .= " ORDER BY $order_by";
|
||||
else
|
||||
$query .= " ORDER BY ecmstockdoccorrects.name";
|
||||
return $query;
|
||||
}
|
||||
function create_export_query($order_by, $where) {
|
||||
$custom_join = $this->custom_fields->getJOIN ();
|
||||
$query = "SELECT
|
||||
ecmstockdoccorrects.*,
|
||||
users.user_name assigned_user_name";
|
||||
if ($custom_join) {
|
||||
$query .= $custom_join ['select'];
|
||||
}
|
||||
$query .= " FROM ecmstockdoccorrects ";
|
||||
$query .= " LEFT JOIN users
|
||||
ON ecmstockdoccorrects.assigned_user_id=users.id";
|
||||
if ($custom_join) {
|
||||
$query .= $custom_join ['join'];
|
||||
}
|
||||
$query .= "";
|
||||
$where_auto = " ecmstockdoccorrects.deleted=0
|
||||
";
|
||||
if ($where != "")
|
||||
$query .= " where $where AND " . $where_auto;
|
||||
else
|
||||
$query .= " where " . $where_auto;
|
||||
if ($order_by != "")
|
||||
$query .= " ORDER BY $order_by";
|
||||
else
|
||||
$query .= " ORDER BY ecmstockdoccorrects.name";
|
||||
return $query;
|
||||
}
|
||||
function fill_in_additional_list_fields() {
|
||||
}
|
||||
function fill_in_additional_detail_fields() {
|
||||
// FILL IN THE ASSIGNED_USER_NAME
|
||||
$this->assigned_user_name = get_assigned_user_name ( $this->assigned_user_id );
|
||||
$this->created_by_name = get_assigned_user_name ( $this->created_by );
|
||||
$this->modified_by_name = get_assigned_user_name ( $this->modified_user_id );
|
||||
}
|
||||
function get_list_view_data() {
|
||||
global $current_language;
|
||||
$this->fill_in_additional_detail_fields ();
|
||||
$app_list_strings = return_app_list_strings_language ( $current_language );
|
||||
$mod_strings = return_module_language ( $current_language, 'EcmStockDocCorrects' );
|
||||
$the_array = parent::get_list_view_data ();
|
||||
//get stocks
|
||||
if($this->ecmproduct_id!=''){
|
||||
//add subpanel data
|
||||
$tmp=$this->getPriceFromDocument($this->ecmproduct_id);
|
||||
|
||||
$the_array ['QUANTITY'] = format_number ( $tmp['quantity'] );
|
||||
$the_array ['PRICE_NETTO'] = format_number ( $tmp['price'] );
|
||||
$the_array ['TOTAL_NETTO'] = format_number ( $tmp['total'] );
|
||||
}
|
||||
$this->retrieve($this->id);
|
||||
$the_array['STOCK_NAME'] = $this->stock_name;
|
||||
$the_array['NUMBER']='<a href="index.php?module=EcmStockDocCorrects&action=DetailView&record='.$this->id.'&offset=1">'.$this->document_no.'</a>';
|
||||
//create image options
|
||||
$op = '<a href="index.php?module=EcmStockDocCorrects&action=createPDF&to_pdf=1&record='.$this->id.'" target="new"/><img src="modules/EcmStockDocCorrects/images/pdf.gif"/></a>';
|
||||
$the_array['OPTIONS'] = $op;
|
||||
|
||||
return $the_array;
|
||||
}
|
||||
function getPriceFromDocument($product){
|
||||
$zap=$this->db->query("select quantity,price,total from ecmstockdoccorrectitems where id='".$product."'");
|
||||
$dane=$this->db->fetchByAssoc($zap);
|
||||
return $dane;
|
||||
}
|
||||
function getStatusMenuInfo($inJSON = true) {
|
||||
global $app_list_strings;
|
||||
$arr = array ();
|
||||
foreach ( $app_list_strings ['ecmstockdoccorrects_status_dom'] as $key => $value ) {
|
||||
$arr [$key] = array (
|
||||
'enabled' => '<div><img src="modules/EcmStockDocCorrects/images/' . $key . '.gif" />' . $value . '</div>',
|
||||
'disabled' => '<div><img src="modules/EcmStockDocCorrects/images/' . $key . '.gif" />' . $value . '</div>'
|
||||
);
|
||||
}
|
||||
$json = getJSONobj ();
|
||||
if ($inJSON)
|
||||
return str_replace ( '"', '\"', $json->encode ( $arr ) );
|
||||
else
|
||||
return $arr;
|
||||
}
|
||||
function create_new_list_query($order_by, $where, $filter = array(), $params = array(), $show_deleted = 0, $join_type = '', $return_array = false, $parentbean, $singleSelect = false) {
|
||||
echo '<script type="text/javascript" src="include/ECM/EcmPreviewPDF/EcmPreviewPDF.js"></script>';
|
||||
echo '<script type="text/javascript" src="modules/EcmStockDocCorrects/ListView.js"></script>';
|
||||
echo '<link rel="stylesheet" type="text/css" href="modules/EcmStockDocCorrects/ListView.css" />';
|
||||
echo '<script language="javascript"> var EcmStockDocCorrectsStatusMenu = ' . $this->getStatusMenuInfo () . '; </script>';
|
||||
return parent::create_new_list_query ( $order_by, $where, $filter, $params, $show_deleted, $join_type, $return_array, $parentbean, $singleSelect );
|
||||
}
|
||||
static function CreateImgStatus($id, $status) {
|
||||
global $app_list_strings;
|
||||
return '<span id="statusListEcmStockDocCorrect_' . $id . '" style="display:inline;"><img src="modules/EcmStockDocCorrects/images/' . $status . '.gif" title="' . $app_list_strings ['ecmstockdoccorrects_status_dom'] [$status] . '" /></span>';
|
||||
}
|
||||
|
||||
/**
|
||||
* BUILDS A GENERIC SEARCH BASED ON THE QUERY STRING USING OR.
|
||||
* DO NOT INCLUDE ANY $THIS-> BECAUSE THIS IS CALLED ON WITHOUT HAVING THE CLASS INSTANTIATED.
|
||||
*/
|
||||
function build_generic_where_clause($the_query_string) {
|
||||
$where_clauses = Array ();
|
||||
$the_query_string = PearDatabase::quote ( from_html ( $the_query_string ) );
|
||||
array_push ( $where_clauses, "ecmstockdoccorrects.name like '$the_query_string%'" );
|
||||
$the_where = "";
|
||||
foreach ( $where_clauses as $clause ) {
|
||||
if ($the_where != "")
|
||||
$the_where .= " or ";
|
||||
$the_where .= $clause;
|
||||
}
|
||||
return $the_where;
|
||||
}
|
||||
function set_notification_body($xtpl, $simplemodule) {
|
||||
global $mod_strings, $app_list_strings;
|
||||
$xtpl->assign ( "NAME", $simplemodule->name );
|
||||
$xtpl->assign ( "DESCRIPTION", $simplemodule->description );
|
||||
return $xtpl;
|
||||
}
|
||||
function bean_implements($interface) {
|
||||
switch ($interface) {
|
||||
case 'ACL' :
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function save($check_notify = FALSE) {
|
||||
global $current_user;
|
||||
// generate number
|
||||
$this->number = $this->generateNumber();
|
||||
$this->document_no = $this->formatNumber($this->number);
|
||||
|
||||
$return_id = parent::save ( $check_notify );
|
||||
$this->savePositions($return_id);
|
||||
|
||||
//update total
|
||||
$db = $GLOBALS['db'];
|
||||
$vat_total=0;
|
||||
// add round total 21.08.2014 DB
|
||||
$r = $db->fetchByAssoc($db->query("SELECT sum(total) as sum FROM ecmstockdoccorrectitems WHERE ecmstockdoccorrect_id='$this->id' and deleted='0'"));
|
||||
$db->query("UPDATE ecmstockdoccorrects SET total='".round($r['sum'],2)."' WHERE id='$this->id'");
|
||||
|
||||
return $return_id;
|
||||
}
|
||||
// ***************************Start Managing Positions*************************//
|
||||
function constructInsertQuery($data, $table = '') {
|
||||
if ($table == '' && isset ( $this->object_name ) && $this->object_name != '') {
|
||||
$table = strtolower ( $this->object_name ) . "items";
|
||||
} else
|
||||
return "";
|
||||
$keys = array ();
|
||||
$values = array ();
|
||||
foreach ( $data as $key => $value ) {
|
||||
$keys [] = $key;
|
||||
if (is_array ( $value ))
|
||||
$values [] = $value [1] . str_replace ( "'", "\'", $value [0] ) . $value [1];
|
||||
else
|
||||
$values [] = "'" . str_replace ( "'", "\'", $value ) . "'";
|
||||
}
|
||||
$q = "insert into `$table` (`";
|
||||
$q .= implode ( '`, `', $keys );
|
||||
$q .= "`) values (";
|
||||
$q .= implode ( ", ", $values );
|
||||
$q .= ");";
|
||||
|
||||
$GLOBALS['db']->query("INSERT INTO log VALUES ('".mysql_real_escape_string($q)."')");
|
||||
return $q;
|
||||
}
|
||||
function savePositions($id = null, $position_list = null) {
|
||||
global $current_user, $timedate;
|
||||
if ($position_list == null)
|
||||
$position_list = $this->position_list;
|
||||
if ($id == null)
|
||||
$id = $this->id;
|
||||
if (count ( $position_list ) > 0)
|
||||
$this->deleteAssignedPositions ( $id );
|
||||
$arr = array ();
|
||||
$position = 0;
|
||||
|
||||
for($i = 0; $i < count ( $position_list ); $i ++) {
|
||||
if ($position_list [$i] ['name'] == '')
|
||||
continue;
|
||||
$p = $position_list [$i];
|
||||
|
||||
require_once ("modules/EcmProducts/EcmProduct.php");
|
||||
$pr = new EcmProduct ();
|
||||
$pr->retrieve ( $p ['product_id'] );
|
||||
$p ['category_id'] = $pr->product_category_id;
|
||||
unset($pr);
|
||||
$item_id = create_guid();
|
||||
$p['id']=$p ['product_id'];
|
||||
$arr = array (
|
||||
'id' => $item_id,
|
||||
'date_entered' => array (
|
||||
'NOW()',
|
||||
''
|
||||
),
|
||||
'date_modified' => array (
|
||||
'NOW()',
|
||||
''
|
||||
),
|
||||
'modified_user_id' => $current_user->id,
|
||||
'assigned_user_id' => $current_user->id,
|
||||
'created_by' => $current_user->id,
|
||||
'deleted' => '0',
|
||||
strtolower ( $this->object_name ) . '_id' => $id,
|
||||
'ecmproduct_id' => $p ['product_id'],
|
||||
'position' => $position,
|
||||
'code' => $p ['product_code'],
|
||||
'name' => $p ['name'],
|
||||
'price'=> ((empty ( $p ['price'] ) || $p ['price'] == '') ? 0 : $p ['price']),
|
||||
'quantity' => ((empty ( $p ['quantity'] ) || $p ['quantity'] == '') ? 0 : $p ['quantity']),
|
||||
'dd_unit_id' => $p ['unit_id'],
|
||||
'dd_unit_name' => $p['unit_name'],
|
||||
'ecmproductcategory_id' => $p ['category_id'],
|
||||
'ecmstockoperation_id' => $p ['quantity_consignment_id']
|
||||
);
|
||||
$this->db->query ( $this->constructInsertQuery ( $arr ) );
|
||||
//stock operations
|
||||
if ($this->type == '2dcd99ce-c2fe-6bbd-6d1a-5512a569c4e0') { //discount
|
||||
$p ['quantity'] *= - 1;
|
||||
$this->deleteProductsFromStockWithConsignment ( $p, $id, $item_id ); //delete
|
||||
$p ['quantity']=abs($p ['quantity']);
|
||||
$this->insertProductsToStock ( $p, $id, $this->stock_id, $item_id ); // add
|
||||
} else { //normal operations
|
||||
if ($p ['quantity'] < 0) {
|
||||
if (! $p ['product_consignment_id'] || $p ['product_consignment_id'] == "")
|
||||
$this->deleteProductsFromStock ( $p, $id, $item_id );
|
||||
else
|
||||
$this->deleteProductsFromStockWithConsignment ( $p, $id, $item_id );
|
||||
} elseif ($p ['quantity'] > 0)
|
||||
$this->insertProductsToStock ( $p, $id, $this->stock_id, $item_id );
|
||||
}
|
||||
$position ++;
|
||||
}
|
||||
}
|
||||
function insertProductsToStock($pl, $return_id, $stock_id, $itemid) {
|
||||
$pp = 0;
|
||||
$qq = 0;
|
||||
$w = $GLOBALS ['db']->query ( "select price,quantity from ecmstockoperations where deleted='0' and type='0' and stock_id='" . $stock_id . "' and product_id='" . $pl ['id'] . "'" );
|
||||
while ( $rrr = $GLOBALS ['db']->fetchByAssoc ( $w ) ) {
|
||||
if ($rrr ['quantity'] > 0) {
|
||||
$pp += ( float ) $rrr ['price'] * ( int ) $rrr ['quantity'];
|
||||
$qq += ( int ) $rrr ['quantity'];
|
||||
}
|
||||
}
|
||||
if ($_REQUEST ['so_id']) {
|
||||
$pp = 0;
|
||||
$qq = 0;
|
||||
$r_cor_inv = $GLOBALS ['db']->fetchByAssoc ( $GLOBALS ['db']->query ( "select ecminvoiceout_id from ecminvoiceouts where id='" . $_REQUEST ['so_id'] . "'" ) );
|
||||
$r_inv = $GLOBALS ['db']->fetchByAssoc ( $GLOBALS ['db']->query ( "select wz_id from ecminvoiceouts where id='" . $r_cor_inv ['ecminvoiceout_id'] . "'" ) );
|
||||
$w_wz = $GLOBALS ['db']->query ( "select price,quantity from ecmstockoperations where parent_id='" . $r_inv ['wz_id'] . "' and product_id='" . $pl ['id'] . "'" );
|
||||
while ( $r_wz = $GLOBALS ['db']->fetchByAssoc ( $w_wz ) ) {
|
||||
$pp += ( float ) $r_wz ['price'] * ( float ) $r_wz ['quantity'];
|
||||
$qq += ( int ) $r_wz ['quantity'];
|
||||
}
|
||||
if (! $pp) {
|
||||
$w_it = $GLOBALS ['db']->query ( "select purchase_price,quantity from ecminvoiceoutitems where ecminvoiceout_id='" . $r_cor_inv ['ecminvoiceout_id'] . "' and ecmproduct_id='" . $pl ['id'] . "'" );
|
||||
while ( $r_it = $GLOBALS ['db']->fetchByAssoc ( $w_it ) ) {
|
||||
$pp += ( float ) $r_it ['purchase_price'] * ( float ) $r_it ['quantity'];
|
||||
$qq += ( int ) $r_it ['quantity'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
require_once ("modules/EcmStockOperations/EcmStockOperation.php");
|
||||
$o = new EcmStockOperation ();
|
||||
|
||||
require_once ("modules/EcmProducts/EcmProduct.php");
|
||||
$o->product_id = $pl ['id'];
|
||||
$p = new EcmProduct ();
|
||||
$p->retrieve ( $pl ['id'] );
|
||||
$o->product_code = $p->code;
|
||||
$o->product_name = $p->name;
|
||||
|
||||
require_once ("modules/EcmStocks/EcmStock.php");
|
||||
$o->stock_id = $stock_id;
|
||||
$s = new EcmStock ();
|
||||
$s->retrieve ( $stock_id );
|
||||
$o->stock_name = $s->name;
|
||||
|
||||
$o->parent_id = $return_id;
|
||||
$r = $GLOBALS ['db']->fetchByAssoc ( $GLOBALS ['db']->query ( "select document_no from ecmstockdoccorrects where id='" . $return_id . "'" ) );
|
||||
$o->parent_name = $r ['document_no'];
|
||||
$o->parent_type = "EcmStockDocCorrects";
|
||||
|
||||
$o->quantity = str_replace('.',',',$pl['quantity']);
|
||||
|
||||
if ($pl ['price'])
|
||||
$price = $pl ['price'];
|
||||
else
|
||||
$price = $pp / $qq;
|
||||
$o->price = $price;
|
||||
$o->documentitem_id = $itemid;
|
||||
$o->type = 0;
|
||||
$oid = $o->save ();
|
||||
$GLOBALS ['db']->query ( "update ecmstockoperations set price='" . $price . "' where id='" . $oid . "'" );
|
||||
$GLOBALS ['db']->query ( "update ecmstockdoccorrectitems set total='" . ($pl ['quantity'] * $price) . "',price='" . ($price) . "' where id='" . $itemid . "'" );
|
||||
require_once ("modules/EcmStockStates/EcmStockState.php");
|
||||
$ss = new EcmStockState ();
|
||||
$ss->UpdateStockState ( $o->stock_id, $o->product_id );
|
||||
}
|
||||
function deleteProductsFromStockWithConsignment($p, $id, $itemid) {
|
||||
$p ['quantity'] *= - 1;
|
||||
$db = $GLOBALS ['db'];
|
||||
$in_p = $db->fetchByAssoc ( $db->query ( "SELECT price FROM ecmstockoperations WHERE id = '" . $p ['product_consignment_id'] . "'" ) );
|
||||
$this->addProductToStockOut ( $p ['product_consignment_id'], $p ['id'], $p ['quantity'], $in_p ['price'], $this->register_date, $id, $this->stock_id, $itemid );
|
||||
$db->query ( "update ecmstockdoccorrectitems set total='-" . round ( $p ['quantity'] * $in_p ['price'], 2 ) . "',price='" . $in_p ['price'] . "' where id='" . $itemid . "'" );
|
||||
}
|
||||
function deleteProductsFromStock($p, $id, $itemid) {
|
||||
$p ['quantity'] *= - 1;
|
||||
$arr = array ();
|
||||
$w = $GLOBALS ['db']->query ( "select quantity as qty,id,price from ecmstockoperations where deleted='0' and type='0' and in_id IS NULL and stock_id='" . $this->stock_id . "' and product_id='" . $p ['id'] . "'" );
|
||||
$GLOBALS ['db']->query ( "INSERT INTO log VALUES ('s:" . $this->stock_id . " p:" . $p ['id'] . "')" );
|
||||
while ( $rrr = $GLOBALS ['db']->fetchByAssoc ( $w ) ) {
|
||||
$ww = $GLOBALS ['db']->query ( "select quantity from ecmstockoperations where in_id='" . $rrr ['id'] . "' and type='1' and in_id IS NOT NULL and stock_id='" . $this->stock_id . "' and product_id='" . $p ['id'] . "' and deleted='0'" );
|
||||
$GLOBALS ['db']->query ( "INSERT INTO log VALUES ('in:" . $rrr ['id'] . " s:" . $this->stock_id . " p:" . $p ['id'] . "')" );
|
||||
$rqty = 0;
|
||||
while ( $rrp = $GLOBALS ['db']->fetchByAssoc ( $ww ) ) {
|
||||
$rqty += $rrp ['quantity'];
|
||||
}
|
||||
$qty = $rrr ['qty'] - $rqty;
|
||||
if ($qty > 0) {
|
||||
$arr [] = array (
|
||||
"qty" => $qty,
|
||||
"id" => $rrr ['id'],
|
||||
"price" => $rrr ['price']
|
||||
);
|
||||
}
|
||||
}
|
||||
$rr = array ();
|
||||
$used_qty = 0;
|
||||
$stop = 0;
|
||||
foreach ( $arr as $value ) {
|
||||
if (( int ) $p ['quantity'] - $used_qty <= $value ['qty']) {
|
||||
$rr [] = array (
|
||||
"id" => $value ['id'],
|
||||
"qty" => $p ['quantity'] - $used_qty,
|
||||
"price" => $value ['price']
|
||||
);
|
||||
$stop = 1;
|
||||
} else {
|
||||
$rr [] = array (
|
||||
"id" => $value ['id'],
|
||||
"qty" => $value ['qty'],
|
||||
"price" => $value ['price']
|
||||
);
|
||||
$used_qty += $value ['qty'];
|
||||
}
|
||||
if ($stop) {
|
||||
$stop = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
$qq = 0;
|
||||
$pp = 0;
|
||||
foreach ( $rr as $r ) {
|
||||
$qq += $r ['qty'];
|
||||
$pp += $r ['qty'] * $r ['price'];
|
||||
$this->addProductToStockOut ( $r ['id'], $p ['id'], $r ['qty'], $r ['price'], $this->register_date, $id, $this->stock_id, $itemid );
|
||||
}
|
||||
$GLOBALS ['db']->query ( "update ecmstockdoccorrectitems set total='-" . $pp . "',price='" . ($pp / $qq) . "' where id='" . $itemid . "'" );
|
||||
}
|
||||
function addProductToStockOut($stock_in_id, $product_id, $quantity, $price, $date, $correct_id, $stock_id, $itemid) {
|
||||
require_once ("modules/EcmStockOperations/EcmStockOperation.php");
|
||||
$o = new EcmStockOperation ();
|
||||
$o->unformat_all_fields ();
|
||||
|
||||
require_once ("modules/EcmProducts/EcmProduct.php");
|
||||
$o->product_id = $product_id;
|
||||
$p = new EcmProduct ();
|
||||
$p->retrieve ( $product_id );
|
||||
$o->product_code = $p->code;
|
||||
$o->product_name = $p->name;
|
||||
|
||||
require_once ("modules/EcmStocks/EcmStock.php");
|
||||
$o->stock_id = $stock_id;
|
||||
$s = new EcmStock ();
|
||||
$s->retrieve ( $stock_id );
|
||||
$o->stock_name = $s->name;
|
||||
|
||||
$o->parent_id = $correct_id;
|
||||
$r = $GLOBALS ['db']->fetchByAssoc ( $GLOBALS ['db']->query ( "select document_no from ecmstockdoccorrects where id='" . $correct_id . "'" ) );
|
||||
$o->parent_name = $r ['document_no'];
|
||||
$o->parent_type = "EcmStockDocCorrects";
|
||||
|
||||
$o->quantity = $quantity;
|
||||
$o->price = format_number ( $price );
|
||||
$o->in_id = $stock_in_id;
|
||||
$o->documentitem_id = $itemid;
|
||||
$o->type = 1;
|
||||
$o->save ();
|
||||
|
||||
require_once ("modules/EcmStockStates/EcmStockState.php");
|
||||
$ss = new EcmStockState ();
|
||||
$ss->UpdateStockState ( $o->stock_id, $o->product_id );
|
||||
}
|
||||
function getPosition($position) {
|
||||
if (! is_array ( $position ))
|
||||
return '';
|
||||
global $timedate;
|
||||
$return_array = array ();
|
||||
$return_array ['product_id'] = $position ['ecmproduct_id'];
|
||||
$return_array ['position'] = $position ['position'];
|
||||
$return_array ['product_code'] = $position ['code'];
|
||||
$return_array ['name'] = $position ['name'];
|
||||
$return_array ['quantity'] = $position ['quantity'];
|
||||
$return_array ['price'] = $position ['price'];
|
||||
$return_array ['total'] = $position ['total'];
|
||||
$return_array ['unit_id'] = $position ['dd_unit_id'];
|
||||
$return_array ['unit_name'] = $position ['dd_unit_name'];
|
||||
if($return_array ['unit_name']==''){
|
||||
$lv=return_app_list_strings_language('pl_pl');
|
||||
$return_array ['unit_name']=$lv['ecmproducts_unit_dom'][$return_array ['unit_id']];
|
||||
}
|
||||
// Consignment
|
||||
$return_array ['quantity_consignment_id'] = $position ['ecmstockoperation_id'];
|
||||
// get Consignment Document no
|
||||
$documents_map = array (
|
||||
'EcmStockDocIns' => '',
|
||||
'EcmStockDocCorrects' => '',
|
||||
'EcmStockDocMoves' => '',
|
||||
'EcmStockDocInsideIns' => ''
|
||||
);
|
||||
$db = $GLOBALS ['db'];
|
||||
$doc = $db->fetchByAssoc ( $db->query ( "SELECT parent_type, parent_name FROM ecmstockoperations WHERE id='" . $position ['ecmstockoperation_id'] . "'" ) );
|
||||
$return_array ['quantity_consignment_doc'] = $documents_map [$doc ['parent_type']] . ' ' . $doc ['parent_name'];
|
||||
return $return_array;
|
||||
}
|
||||
function getPositionList($array = false) {
|
||||
if (isset ( $this->id ) && $this->id != '') {
|
||||
$query = "SELECT * FROM `" . strtolower ( $this->object_name ) . "items` WHERE `" . strtolower ( $this->object_name ) . "_id`='" . $this->id . "' order by position asc";
|
||||
$r = $this->db->query ( $query );
|
||||
$return_array = array ();
|
||||
if ($r) {
|
||||
while ( $w = $this->db->fetchByAssoc ( $r ) ) {
|
||||
$return_array [] = $this->getPosition ( $w );
|
||||
}
|
||||
$json = getJSONobj ();
|
||||
return $array ? $return_array : $json->encode ( $return_array );
|
||||
}
|
||||
}
|
||||
return $array ? false : '[]';
|
||||
}
|
||||
function deleteAssignedPositions() {
|
||||
if (isset ( $this->id ) && $this->id != '') {
|
||||
$query = "DELETE FROM `" . strtolower ( $this->object_name ) . "items` WHERE `" . strtolower ( $this->object_name ) . "_id`='" . $this->id . "'";
|
||||
$r = $this->db->query ( $query );
|
||||
if ($r)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function formatPositions($position_list) {
|
||||
return;
|
||||
if (! is_array ( $position_list ) || count ( $position_list ) == 0)
|
||||
return false;
|
||||
global $app_list_strings;
|
||||
require_once ('modules/Currencies/Currency.php');
|
||||
foreach ( $position_list as $key => $value ) {
|
||||
$position_list [$key] ['unit_id'] = $app_list_strings ['ecmproducts_unit_dom'] [$value ['unit_id']];
|
||||
$position_list [$key] ['category_id'] = $app_list_strings ['ecmproducts_category_dom'] [$value ['category_id']];
|
||||
// $position_list[$key]['vat_id'] = format_number($value['vat_id']).'%';
|
||||
$position_list [$key] ['discount'] = format_number ( $value ['discount'] ) . '%';
|
||||
if (isset ( $currency ) && ($currency->id == $this->currency_id)) {
|
||||
} else {
|
||||
$currency = new Currency ();
|
||||
$currency->retrieve ( $this->currency_id );
|
||||
}
|
||||
$position_list [$key] ['price'] = format_number ( $value ['price'] ) . ' ' . $currency->iso4217;
|
||||
$position_list [$key] ['total'] = format_number ( $value ['total'] ) . ' ' . $currency->iso4217;
|
||||
// $position_list[$key]['price'] = format_number($value['price']).' PLN';
|
||||
// $position_list[$key]['total'] = format_number($value['total']).' PLN';
|
||||
$this->currency_symbol = $currency->iso4217;
|
||||
}
|
||||
return $position_list;
|
||||
}
|
||||
// ***************************End Managing Positions*************************//
|
||||
//begin stock
|
||||
|
||||
//end stock
|
||||
function ACLAccess($view, $is_owner = 'not_set') {
|
||||
global $current_user;
|
||||
$file = 'modules/EcmGroupSales/EcmGroupSale.php';
|
||||
if (file_exists ( $file )) {
|
||||
require_once ($file);
|
||||
$cc = EcmGroupSale::loadSettings ( true );
|
||||
} else
|
||||
return true;
|
||||
if (is_admin ( $current_user )) {
|
||||
switch ($view) {
|
||||
case 'confirming' :
|
||||
return ($this->status == "s20");
|
||||
case 'send_to_confirm' :
|
||||
return ($this->status == "s10");
|
||||
case 'pdf_toolbar' :
|
||||
return ($this->status != "s10" && $this->status != "s20" && $this->status != "s40");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if ($is_owner == 'not_set') {
|
||||
$is_owner = $this->isOwner ( $current_user->id );
|
||||
}
|
||||
// if we don't implent acls return true
|
||||
if (! $this->bean_implements ( 'ACL' ))
|
||||
return true;
|
||||
$view = strtolower ( $view );
|
||||
if ($cc ['user_manager_role']) { // Manager
|
||||
switch ($view) {
|
||||
case 'list' :
|
||||
case 'index' :
|
||||
case 'listview' :
|
||||
return ACLController::checkAccess ( $this->module_dir, 'list', true );
|
||||
case 'edit' :
|
||||
case 'save' :
|
||||
case 'popupeditview' :
|
||||
case 'editview' :
|
||||
return (ACLController::checkAccess ( $this->module_dir, 'edit', $is_owner ));
|
||||
case 'view' :
|
||||
case 'detail' :
|
||||
case 'detailview' :
|
||||
return ACLController::checkAccess ( $this->module_dir, 'view', $is_owner );
|
||||
case 'delete' :
|
||||
return ACLController::checkAccess ( $this->module_dir, 'delete', $is_owner );
|
||||
case 'export' :
|
||||
return ACLController::checkAccess ( $this->module_dir, 'export', $is_owner );
|
||||
case 'import' :
|
||||
return ACLController::checkAccess ( $this->module_dir, 'import', true );
|
||||
case 'send_to_confirm' :
|
||||
return ($this->status == "s10");
|
||||
case 'can_commit' :
|
||||
return true;
|
||||
case 'confirming' :
|
||||
return ($this->status == "s20");
|
||||
case 'auto_commiting' :
|
||||
return true;
|
||||
case 'pdf_toolbar' :
|
||||
return ($this->status != "s10" && $this->status != "s20" && $this->status != "s40");
|
||||
}
|
||||
} else if ($cc ['user_representative_extra_role']) { // Representative Extra
|
||||
switch ($view) {
|
||||
case 'list' :
|
||||
case 'index' :
|
||||
case 'listview' :
|
||||
return ACLController::checkAccess ( $this->module_dir, 'list', true );
|
||||
case 'edit' :
|
||||
return (ACLController::checkAccess ( $this->module_dir, 'edit', $is_owner ) && ($this->status == "s10" || $this->status == "s40"));
|
||||
case 'save' :
|
||||
case 'popupeditview' :
|
||||
case 'editview' :
|
||||
return (ACLController::checkAccess ( $this->module_dir, 'edit', $is_owner ));
|
||||
case 'view' :
|
||||
case 'detail' :
|
||||
case 'detailview' :
|
||||
return ACLController::checkAccess ( $this->module_dir, 'view', $is_owner );
|
||||
case 'delete' :
|
||||
return (ACLController::checkAccess ( $this->module_dir, 'delete', $is_owner ) && $this->status == "s10");
|
||||
case 'export' :
|
||||
return ACLController::checkAccess ( $this->module_dir, 'export', $is_owner );
|
||||
case 'import' :
|
||||
return ACLController::checkAccess ( $this->module_dir, 'import', true );
|
||||
case 'quote_to_sale' :
|
||||
case 'quote_to_invoice' :
|
||||
return ($this->status != "s10" && $this->status != "s20" && $this->status != "s40" && $this->status != "s60");
|
||||
case 'send_to_confirm' :
|
||||
return ($this->status == "s10");
|
||||
case 'send_email' :
|
||||
return ($this->status != "s10" && $this->status != "s20" && $this->status != "s40");
|
||||
case 'can_commit' :
|
||||
return true;
|
||||
case 'confirming' :
|
||||
return false;
|
||||
case 'auto_commiting' :
|
||||
return true;
|
||||
case 'pdf_toolbar' :
|
||||
return ($this->status != "s10" && $this->status != "s20" && $this->status != "s40");
|
||||
}
|
||||
} else if ($cc ['user_representative_role']) { // Representative
|
||||
switch ($view) {
|
||||
case 'list' :
|
||||
case 'index' :
|
||||
case 'listview' :
|
||||
return ACLController::checkAccess ( $this->module_dir, 'list', true );
|
||||
case 'edit' :
|
||||
return (ACLController::checkAccess ( $this->module_dir, 'edit', $is_owner ) && ($this->status == "s10" || $this->status == "s40"));
|
||||
case 'save' :
|
||||
case 'popupeditview' :
|
||||
case 'editview' :
|
||||
return (ACLController::checkAccess ( $this->module_dir, 'edit', $is_owner ));
|
||||
case 'view' :
|
||||
case 'detail' :
|
||||
case 'detailview' :
|
||||
return ACLController::checkAccess ( $this->module_dir, 'view', $is_owner );
|
||||
case 'delete' :
|
||||
return (ACLController::checkAccess ( $this->module_dir, 'delete', $is_owner ) && $this->status == "s10");
|
||||
case 'export' :
|
||||
return ACLController::checkAccess ( $this->module_dir, 'export', $is_owner );
|
||||
case 'import' :
|
||||
return ACLController::checkAccess ( $this->module_dir, 'import', true );
|
||||
case 'quote_to_sale' :
|
||||
case 'quote_to_invoice' :
|
||||
return ($this->status != "s10" && $this->status != "s20" && $this->status != "s40" && $this->status != "s60");
|
||||
case 'send_to_confirm' :
|
||||
return ($this->status == "s10");
|
||||
case 'send_email' :
|
||||
return ($this->status != "s10" && $this->status != "s20" && $this->status != "s40");
|
||||
case 'can_commit' :
|
||||
return false;
|
||||
case 'confirming' :
|
||||
return false;
|
||||
case 'auto_commiting' :
|
||||
return false;
|
||||
case 'pdf_toolbar' :
|
||||
return ($this->status != "s10" && $this->status != "s20" && $this->status != "s40");
|
||||
}
|
||||
}
|
||||
// if it is not one of the above views then it should be implemented on the page level
|
||||
return true;
|
||||
}
|
||||
|
||||
//mz generate number
|
||||
function generateNumber() {
|
||||
$db = $GLOBALS['db'];
|
||||
$r = $db->fetchByAssoc($db->query("SELECT count(id) as c FROM ecmstockdoccorrects WHERE deleted='0' AND YEAR(register_date)='".date('Y')."'"));
|
||||
|
||||
if (!$r || !$r['c'] || $r['c']=='')
|
||||
$count = 0;
|
||||
else
|
||||
$count = intval($r['c']);
|
||||
|
||||
$count++;
|
||||
|
||||
//has 5 digits?
|
||||
$tmp = strval($count);
|
||||
while (strlen($tmp) < 5)
|
||||
$tmp = '0'.$tmp;
|
||||
|
||||
return date("Ymd").$tmp;
|
||||
}
|
||||
|
||||
function formatNumber($number) {
|
||||
$n = intval(substr($number, 8,5));
|
||||
$y = substr($number,2,2);
|
||||
|
||||
//has 3 digits?
|
||||
while (strlen($n) < 3)
|
||||
$n = '0'.$n;
|
||||
|
||||
return 'KS '.$n.'/'.$y;
|
||||
}
|
||||
}
|
||||
?>
|
||||
69
modules/EcmStockDocCorrects/EditView.php
Normal file
69
modules/EcmStockDocCorrects/EditView.php
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
ini_set('display_errors',1);
|
||||
error_reporting(LC_ALL);
|
||||
if (! defined ( 'sugarEntry' ) || ! sugarEntry)
|
||||
die ( 'NotAValidEntryPoint' );
|
||||
|
||||
global $sugar_version, $sugar_config, $current_user, $app_strings, $mod_strings, $current_user, $app_list_strings;
|
||||
require_once ('modules/EcmStockDocCorrects/EcmStockDocCorrect.php');
|
||||
require_once ('include/time.php');
|
||||
|
||||
$db = $GLOBALS['db'];
|
||||
|
||||
//add jquery
|
||||
echo '<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-table/jquery.appendGrid-1.3.1.css"/>';
|
||||
echo '<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-ui/themes/base/jquery-ui.css"/>';
|
||||
echo '<script type="text/javascript"
|
||||
src="include/jQuery/jquery-2.1.0.min.js"></script>';
|
||||
echo '<script type="text/javascript"
|
||||
src="include/jQuery/jquery-table/jquery.appendGrid-1.3.1.js"></script>';
|
||||
echo '<script type="text/javascript"
|
||||
src="include/jQuery/jquery-ui/ui/jquery-ui.js"></script>';
|
||||
|
||||
// $cq=$current_user->getPreference('confirm_quotes');
|
||||
|
||||
$new_number = false;
|
||||
$duplicate = false;
|
||||
$focus = new EcmStockDocCorrect ();
|
||||
|
||||
if (isset ( $_REQUEST ['record'] ) && $_REQUEST['isDuplicate']=="false" ) {
|
||||
$focus->retrieve ( $_REQUEST ['record'] );
|
||||
if (isset ( $focus->id ) && $focus->id != '') {
|
||||
$focus->format_all_fields ();
|
||||
}
|
||||
}
|
||||
else if ($_REQUEST['isDuplicate']=="true") {
|
||||
$new_number=true;
|
||||
$duplicate=true;
|
||||
//get data
|
||||
$focus->retrieve($_REQUEST['return_id']);
|
||||
}
|
||||
else {
|
||||
$new_number=true;
|
||||
//dates
|
||||
$focus->register_date = date("d.m.Y");
|
||||
$OPT ['check_parent_id'] = false;
|
||||
}
|
||||
|
||||
//get stocks
|
||||
$res = $db->query("SELECT id, name FROM ecmstocks WHERE deleted = '0' ORDER BY name");
|
||||
$stock = '<select id="stock" name="stock"><option value=""></option>';
|
||||
$stock_body = '';
|
||||
while ($row = $db->fetchByAssoc($res))
|
||||
$stock_body.='<option value="'.$row['id'].'">'.$row['name'].'</option>';
|
||||
$stock.=$stock_body.'</select><input id="stock_id" name="stock_id" type="hidden"/>';
|
||||
|
||||
require_once ('include/MVC/View/SugarView.php');
|
||||
require_once ('modules/EcmStockDocCorrects/views/EditView/view.edit.ecmstockdoccorrects.php');
|
||||
$edit = new ViewEditEcmStockDocCorrects ();
|
||||
$edit->ss = new Sugar_Smarty ();
|
||||
$edit->module = 'EcmStockDocCorrects';
|
||||
$edit->bean = $focus;
|
||||
$edit->tplFile = 'include/ECM/EcmViews/EditView/Tabs/EditView.tpl';
|
||||
$edit->preDisplay ();
|
||||
$edit->ss->assign ( "NEW_NUMBER", $new_number );
|
||||
$edit->ss->assign("DUPLICATE", $duplicate);
|
||||
$edit->ss->assign("STOCK", $stock);
|
||||
echo $edit->display ();
|
||||
//loading view
|
||||
echo '<link rel="stylesheet" type="text/css" href="modules/EcmStockDocCorrects/javascript/helper.css" media="screen" /><div class="loading_panel"></div>';
|
||||
106
modules/EcmStockDocCorrects/Menu.php
Normal file
106
modules/EcmStockDocCorrects/Menu.php
Normal file
@@ -0,0 +1,106 @@
|
||||
<?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.
|
||||
|
||||
********************************************************************************/
|
||||
|
||||
global $mod_strings, $current_user;
|
||||
|
||||
if(ACLController::checkAccess('EcmStockDocCorrects', "edit", true)) $module_menu [] = Array("index.php?module=".'EcmStockDocCorrects'."&action=EditView&return_module=".'EcmStockDocCorrects'."&return_action=DetailView", translate('LNK_NEW_'.'ECMSTOCKDOCCORRECT', 'EcmStockDocCorrects'),"CreateEcmStockDocCorrects", 'EcmStockDocCorrects');
|
||||
|
||||
if(ACLController::checkAccess('EcmStockDocCorrects', "list", true)) $module_menu [] = Array("index.php?module=EcmStockDocCorrects&action=index&return_module=EcmStockDocCorrects&return_action=DetailView", translate('LNK_ECMSTOCKDOCCORRECTS_LIST','EcmStockDocCorrects'),"EcmStockDocCorrects", 'EcmStockDocCorrects');
|
||||
|
||||
?>
|
||||
|
||||
195
modules/EcmStockDocCorrects/PDFTemplate/content.php
Normal file
195
modules/EcmStockDocCorrects/PDFTemplate/content.php
Normal file
@@ -0,0 +1,195 @@
|
||||
<?php
|
||||
$w = "70"; // first column width
|
||||
$w2 = "15"; // second column width
|
||||
$content = '
|
||||
<table style="width: 100%; font-size: 8pt;">
|
||||
<tr>
|
||||
<td style="width: ' . $w . '%">
|
||||
<b><h1>Dokument KS</h1></b>
|
||||
</td>
|
||||
<td style="width: ' . $w2 . '%">
|
||||
Numer:
|
||||
</td>
|
||||
<td style="text-align: right">
|
||||
<b>' . $focus->document_no . '</b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: ' . $w . '%">
|
||||
|
||||
</td>
|
||||
<td style="width: ' . $w2 . '%">
|
||||
</b>Data wystawienia:</b>
|
||||
</td>
|
||||
<td style="text-align: right">
|
||||
<b>' . $focus->register_date . '</b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: ' . $w . '%">
|
||||
|
||||
</td>
|
||||
<td style="width: ' . $w2 . '%">
|
||||
Wystawił:
|
||||
</td>
|
||||
<td style="text-align: right">
|
||||
<b>' . $user->full_name . '</b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: ' . $w . '%">
|
||||
|
||||
</td>
|
||||
<td style="width: ' . $w2 . '%">
|
||||
Magazyn:
|
||||
</td>
|
||||
<td style="text-align: right">
|
||||
<b>' . $focus->stock_name . '</b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: ' . $w . '%">
|
||||
|
||||
</td>
|
||||
<td style="width: ' . $w2 . '%">
|
||||
Typ:
|
||||
</td>
|
||||
<td style="text-align: right">
|
||||
<b>' . $app_list_strings['ecmstockdoccorrects_type_dom'][$focus->type] . '</b>
|
||||
</td>
|
||||
</tr>
|
||||
</table><br>
|
||||
';
|
||||
if ($focus->name && $focus->name != '') {
|
||||
$content .= '
|
||||
<table style="width: 100%; text-align: center">
|
||||
<tr><td>
|
||||
<b>' . $focus->name . '</b>
|
||||
</td></tr>
|
||||
</table>
|
||||
';
|
||||
}
|
||||
|
||||
$content .= '<br>';
|
||||
|
||||
// start items table
|
||||
$columns = array ();
|
||||
|
||||
$columns ['position'] = array (
|
||||
'field' => array (
|
||||
'position'
|
||||
),
|
||||
'label' => 'Lp.',
|
||||
'align' => 'center'
|
||||
);
|
||||
|
||||
$columns ['name'] = array (
|
||||
'field' => array (
|
||||
'name',
|
||||
'product_code'
|
||||
),
|
||||
'label' => 'Nazwa<br>Indeks',
|
||||
'align' => 'left'
|
||||
);
|
||||
$columns ['qty'] = array (
|
||||
'field' => array (
|
||||
'quantity',
|
||||
'unit_name'
|
||||
),
|
||||
'label' => 'Ilość<br>J.m.',
|
||||
'align' => 'right'
|
||||
);
|
||||
|
||||
$columns ['price'] = array (
|
||||
'field' => array (
|
||||
'price'
|
||||
),
|
||||
'label' => 'Cena',
|
||||
'align' => 'right'
|
||||
);
|
||||
|
||||
$columns ['total'] = array (
|
||||
'field' => array (
|
||||
'total'
|
||||
),
|
||||
'label' => 'Wartość',
|
||||
'align' => 'right'
|
||||
);
|
||||
|
||||
// set widths
|
||||
$totals = array ();
|
||||
|
||||
$columns ['position'] ['width'] = '5';
|
||||
$columns ['name'] ['width'] = '45';
|
||||
$columns ['qty'] ['width'] = '10';
|
||||
$columns ['price'] ['width'] = '20';
|
||||
$columns ['total'] ['width'] = '20';
|
||||
|
||||
// rysujemy :)
|
||||
$content .= '
|
||||
<table style="width: 100%; font-size: 7pt; border: 0.5 solid black; border-collapse: collapse"><thead>
|
||||
<tr>
|
||||
';
|
||||
|
||||
foreach ( $columns as $col ) {
|
||||
$content .= '
|
||||
<th style="border: 0.5 solid black; width: ' . $col ['width'] . '%;">' . $col ['label'] . '</th>
|
||||
';
|
||||
}
|
||||
$content .= '
|
||||
</tr></thead><tbody>
|
||||
';
|
||||
|
||||
foreach ( $positions as $pos ) {
|
||||
$content .= '<tr>';
|
||||
foreach ( $columns as $col ) {
|
||||
$content .= '<td style="border: 0.5 solid black; text-align: ' . $col ['align'] . ';">';
|
||||
foreach ( $col ['field'] as $f ) {
|
||||
if (! $pos [$f] || $pos [$f] == '')
|
||||
$pos [$f] = '-';
|
||||
$content .= $pos [$f] . '<br>';
|
||||
}
|
||||
$content .= '</td>';
|
||||
}
|
||||
$content .= '</tr>';
|
||||
}
|
||||
|
||||
$content .= '
|
||||
</tbody></table>
|
||||
';
|
||||
// summary table
|
||||
// get currency symbol
|
||||
$c = new Currency ();
|
||||
$c->retrieve ( $focus->currency_id );
|
||||
$symbol = $c->symbol;
|
||||
unset ( $c );
|
||||
$content .= '
|
||||
<br><br>
|
||||
<table style="font-size: 9pt; border: 0.5 solid black; border-collapse: collapse; width: 215px; margin-left: 70%">
|
||||
';
|
||||
|
||||
$content .= '
|
||||
<tr>
|
||||
<td style="border: 0.5 solid black; width: 50%;">
|
||||
Suma
|
||||
</td>
|
||||
<td style="border: 0.5 solid black; text-align: right;">
|
||||
' . format_number ( $focus->total) . ' ' . $symbol . '
|
||||
</td>
|
||||
</tr>
|
||||
';
|
||||
$content .= '
|
||||
</table>
|
||||
<br><br>
|
||||
' . $focus->pdf_text . '
|
||||
';
|
||||
|
||||
//echo $content; die();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
12
modules/EcmStockDocCorrects/PDFTemplate/header.php
Normal file
12
modules/EcmStockDocCorrects/PDFTemplate/header.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
$header = '
|
||||
<table style="font-size: 7pt; width: 100%"><tr>
|
||||
<td style="width: 80%">
|
||||
|
||||
</td>
|
||||
<td style="text-align: right; vertical-align: bottom;">
|
||||
www.e5.pl
|
||||
</td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
';
|
||||
28
modules/EcmStockDocCorrects/PDFTemplate/helper.php
Normal file
28
modules/EcmStockDocCorrects/PDFTemplate/helper.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
function formatPDFPositions($positions, $focus) {
|
||||
$result = array();
|
||||
foreach ($positions as $pos) {
|
||||
|
||||
$pos['position'] = intval($pos['position'])+1;
|
||||
|
||||
$pos['quantity'] = $pos['quantity'];
|
||||
$pos['price']=format_number($pos['price']);
|
||||
$pos['total']=format_number($pos['total']);
|
||||
|
||||
$result[] = $pos;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
function mysql_escape_gpc($dirty)
|
||||
{
|
||||
if (ini_get('magic_quotes_gpc'))
|
||||
{
|
||||
return $dirty;
|
||||
}
|
||||
else
|
||||
{
|
||||
return mysql_real_escape_string($dirty);
|
||||
}
|
||||
}
|
||||
144
modules/EcmStockDocCorrects/Save.php
Normal file
144
modules/EcmStockDocCorrects/Save.php
Normal file
@@ -0,0 +1,144 @@
|
||||
<?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 ();
|
||||
require_once ("modules/EcmStockDocCorrects/EcmStockDocCorrect.php");
|
||||
require_once ('include/formbase.php');
|
||||
$focus = new EcmStockDocCorrect ();
|
||||
|
||||
if (isset ( $_POST ['record'] ) && $_POST ['record'] != '') {
|
||||
$focus->retrieve ( $_POST ['record'] );
|
||||
}
|
||||
|
||||
if (! $focus->ACLAccess ( 'Save' )) {
|
||||
ACLController::displayNoAccess ( true );
|
||||
sugar_cleanup ( true );
|
||||
}
|
||||
$check_notify = FALSE;
|
||||
|
||||
foreach ( $focus->column_fields as $field ) {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
$focus->position_list = $json->decode ( htmlspecialchars_decode ( $_POST ['position_list'] ) );
|
||||
|
||||
$focus->save ( $check_notify );
|
||||
|
||||
$return_id = $focus->id;
|
||||
|
||||
echo $return_id;
|
||||
|
||||
echo '
|
||||
<script type="text/javascript">
|
||||
window.open(window.open(\'index.php?module=EcmStockDocCorrects&action=createPDF&to_pdf=1&pdf_type=\'+$(\'#pdf_type\').val()+\'&record=' . $return_id . '\',\'_blank\'););
|
||||
</script>
|
||||
';
|
||||
handleRedirect ( $return_id, 'EcmStockDocCorrects' );
|
||||
?>
|
||||
76
modules/EcmStockDocCorrects/copy_old_quotes.php
Normal file
76
modules/EcmStockDocCorrects/copy_old_quotes.php
Normal file
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
$db = $GLOBALS['db'];
|
||||
global $app_list_strings;
|
||||
|
||||
$db->query("TRUNCATE TABLE ecmstockdoccorrects");
|
||||
|
||||
$res = $db->query("SELECT * FROM ecmstockdoccorrectscp ORDER BY register_date DESC");
|
||||
|
||||
while ($r = $db->fetchByAssoc($res)) {
|
||||
$q="INSERT INTO ecmstockdoccorrects VALUES (
|
||||
'".$r['id']."',
|
||||
'".$r['name']."',
|
||||
'".$r['description']."',
|
||||
'".$r['date_entered']."',
|
||||
'".$r['date_modified']."',
|
||||
'".$r['modified_user_id']."',
|
||||
'".$r['assigned_user_id']."',
|
||||
'".$r['created_by']."',
|
||||
'".$r['deleted']."',
|
||||
'".$r['number']."',
|
||||
'".$r['document_no']."',
|
||||
'".$r['register_date']."',
|
||||
'".$r['total']."',
|
||||
'',
|
||||
'".$r['stock_to_id']."',
|
||||
'".$r['stock_from_id']."'
|
||||
);
|
||||
";
|
||||
$db->query($q);
|
||||
|
||||
$all_total = 0;
|
||||
|
||||
//get products
|
||||
//remove old
|
||||
$db->query("DELETE FROM ecmstockdoccorrectitems WHERE ecmstockdoccorrect_id='".$r['id']."'");
|
||||
|
||||
$pres = $db->query("SELECT * FROM ecmstockdomoveitemscp WHERE ecmstockdoccorrect_id='".$r['id']."'");
|
||||
|
||||
while ($p = $db->fetchByAssoc($pres)) {
|
||||
//calculate totals
|
||||
$total = $p['price']*$p['quantity'];
|
||||
$all_total+=$total;
|
||||
|
||||
$unit_name = $app_list_strings['ecmproducts_unit_dom'][$p['dd_unit_id']];
|
||||
|
||||
$pq = "INSERT INTO ecmstockdoccorrectitems VALUES(
|
||||
'".$p['id']."',
|
||||
'".$p['date_entered']."',
|
||||
'".$p['date_modified']."',
|
||||
'".$p['modified_user_id']."',
|
||||
'".$p['assigned_user_id']."',
|
||||
'".$p['created_by']."',
|
||||
'".$p['deleted']."',
|
||||
'".$p['ecmstockdoccorrect_id']."',
|
||||
'".$p['ecmproduct_id']."',
|
||||
'".$p['position']."',
|
||||
'".$p['code']."',
|
||||
'".$p['name']."',
|
||||
'".$p['quantity']."',
|
||||
'".$p['price']."',
|
||||
'$total',
|
||||
'".$p['dd_unit_id']."',
|
||||
'$unit_name',
|
||||
'".$p['ecmproductcategory_id']."'
|
||||
);";
|
||||
$db->query($pq);
|
||||
}
|
||||
|
||||
//update totals
|
||||
foreach ($vats as $k=>$v) {
|
||||
$vats_all = $k.':'.$v.',';
|
||||
}
|
||||
|
||||
$db->query("UPDATE ecmstockdoccorrects SET total='$all_total' WHERE id='".$r['id']."'");
|
||||
}
|
||||
echo 'koniec';
|
||||
58
modules/EcmStockDocCorrects/createPDF.php
Normal file
58
modules/EcmStockDocCorrects/createPDF.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
if ($_REQUEST['action'] == 'createPDF'){
|
||||
|
||||
createPDF($_REQUEST['record'],'I');
|
||||
}
|
||||
|
||||
|
||||
function createPDF($record,$output,$filename = null){
|
||||
ini_set('display_errors',1);
|
||||
|
||||
include_once("modules/EcmStockDocCorrects/PDFTemplate/helper.php");
|
||||
$focus = new EcmStockDocCorrect ();
|
||||
$focus->retrieve ( $record );
|
||||
|
||||
$user = new User ();
|
||||
$user->retrieve ( $focus->assigned_user_id );
|
||||
|
||||
include_once("include/MPDF57/mpdf.php");
|
||||
|
||||
$p = new mPDF ( '', 'A4', null, 'helvetica', 10, 10, 30, 45, 5, 5 );
|
||||
$mpdf->mirrorMargins = 1;
|
||||
|
||||
$db = $GLOBALS ['db'];
|
||||
$r=$db->query ("select name,footer_address,footer_nip from ecmdocumenttemplates where id='75997203-f430-7f64-10e0-4b0a912673fa'");
|
||||
$comp=$db->fetchByAssoc($r);
|
||||
$addr = explode(",", $comp['footer_address']);
|
||||
// document pdf
|
||||
// document already exist?
|
||||
//$res = $db->query ( "SELECT footer, content FROM ecmstockdoccorrect_pdf WHERE id='$record'" );
|
||||
|
||||
if ($res->num_rows == 0) {
|
||||
// create and save document
|
||||
$positions = formatPDFPositions ( $focus->getPositionList ( true ), $focus );
|
||||
// get header
|
||||
$header = '';
|
||||
include("modules/EcmStockDocCorrects/PDFTemplate/header.php");
|
||||
$content = '';
|
||||
include("modules/EcmStockDocCorrects/PDFTemplate/content.php");
|
||||
|
||||
global $current_user;
|
||||
$db->query ( "INSERT INTO ecmstockdoccorrect_pdf VALUES ('$record','$current_user->id', NOW(),'" . urlencode ( $header ) . "', '" . urlencode ( $content ) . "')" );
|
||||
} else {
|
||||
$positions = formatPDFPositions ( $focus->getPositionList ( true ), $focus );
|
||||
$row = $db->fetchByAssoc ( $res );
|
||||
$header = urldecode ( $row ['footer'] ); // punk rock!
|
||||
$content = urldecode ( $row ['content'] );
|
||||
}
|
||||
|
||||
$p->SetHTMLHeader ( $header );
|
||||
$p->WriteHTML ( $content );
|
||||
|
||||
// draw PDF
|
||||
if($filename==null){
|
||||
$filename = str_replace(" ","_", str_replace("/", "_", $focus->document_no));
|
||||
}
|
||||
|
||||
$p->Output ($filename, $output);
|
||||
}
|
||||
1
modules/EcmStockDocCorrects/javahelper.php
Normal file
1
modules/EcmStockDocCorrects/javahelper.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php require_once('modules/EcmStockDocCorrects/javascript/helper.php');
|
||||
322
modules/EcmStockDocCorrects/javascript/Consignments.js
Normal file
322
modules/EcmStockDocCorrects/javascript/Consignments.js
Normal file
@@ -0,0 +1,322 @@
|
||||
var checkProductIsConsignment = function() {
|
||||
var count = $('#' + itemsTable + '_T tr').length - 1; // -1 - thead row
|
||||
for (var index = 0; index != count; index++) {
|
||||
//if ($('#product_is_consignment_' + index).val() == '1') {
|
||||
var f = $('#quantity_' + index).attr('onchange');
|
||||
f += 'showConsignmentsOptions(\'' + index + '\');';
|
||||
$('#quantity_' + index).attr('onchange', f);
|
||||
var f2 = $('#quantity_' + index).attr('onchange');
|
||||
if (UnformatNumber($('#quantity_'+index).val())<=0)
|
||||
if (!items[index].product_consignment_id || items[index].product_consignment_id=='' )
|
||||
getConsignmentsDiv(index);
|
||||
//}
|
||||
}
|
||||
$('#quantity_' + (count - 2)).focus();
|
||||
$('#quantity_' + (count - 2)).select();
|
||||
addRowClickHandler();
|
||||
}
|
||||
|
||||
function addRowClickHandler() {
|
||||
$('#itemsTable').find('tr').click(function() {
|
||||
var count = $('#' + itemsTable + '_T tr').length - 1;
|
||||
for (var index = 0; index != count; index++) {
|
||||
if ($('#product_is_consignment_' + index).val() != '1')
|
||||
continue;
|
||||
var qty = UnformatNumber($('#quantity_' + index).val());
|
||||
var div_size = $('#consignments_div_' + index).size();
|
||||
// if (index == $(this).index() && div_size>0) continue;
|
||||
if (index == $(this).index() && qty > 0 && div_size == 0) {
|
||||
getInsertConsignmentsDiv(index);
|
||||
} else if (index != $(this).index() && qty > 0)
|
||||
$('#consignments_div_' + index).hide('slow', function() {
|
||||
$(this).remove();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var showConsignmentsOptions = function(index) {
|
||||
checkConsignments(index);
|
||||
console.log(items[index].product_is_consignment);
|
||||
if (items[index].product_is_consignment != '1') {
|
||||
console.log('nie partia');
|
||||
if (UnformatNumber($('#quantity_' + index).val()) > 0)
|
||||
$('#consignments_div_'+index).remove();
|
||||
else
|
||||
if (!items[index].product_consignment_id || items[index].product_consignment_id=='')
|
||||
getConsignmentsDiv(index);
|
||||
} else {
|
||||
console.log('partia');
|
||||
if (UnformatNumber($('#quantity_' + index).val()) > 0)
|
||||
getInsertConsignmentsDiv(index);
|
||||
else
|
||||
if (!items[index].product_consignment_id || items[index].product_consignment_id=='')
|
||||
getConsignmentsDiv(index);
|
||||
}
|
||||
}
|
||||
|
||||
var getInsertConsignmentsDiv = function(index) {
|
||||
if($('#product_id_' + index).val()=='' || $('#product_is_consignment_' + index).val() != '1') return '';
|
||||
$('#consignments_div_' + index).remove(); // panel exists
|
||||
var part = '';
|
||||
|
||||
if (items[index].product_consignment_part!='')
|
||||
part = items[index].product_consignment_part;
|
||||
var container = $('#itemsTable_T > tbody').find('#name_' + index).parent()
|
||||
.parent();
|
||||
var div = $('<div></div>');
|
||||
div.attr('id', 'consignments_div_' + index);
|
||||
div.attr('name', 'consignments_div_' + index);
|
||||
div.css('float', 'left');
|
||||
div.css('text-align', 'left');
|
||||
div.css('border', '1px solid rgb(204,204,204)');
|
||||
div.css('padding', '3px');
|
||||
div.css('display', 'none');
|
||||
div.css('width', '90%');
|
||||
input = $('<input></input>');
|
||||
input.attr('id', 'consignment_part_no');
|
||||
input.keyup(function(event) {
|
||||
var t = $(event.target);
|
||||
$('#product_consignment_part_' + index).val(t.val());
|
||||
items[index].product_consignment_part = t.val();
|
||||
});
|
||||
|
||||
input.css('width', '90%');
|
||||
|
||||
input.val(part);
|
||||
div.append('Nr parti: ');
|
||||
div.append(input);
|
||||
container.append(div);
|
||||
div.show('slow');
|
||||
//input.focus();
|
||||
if($('#product_consignment_part_' + index).val()=='')getPartNumber(index);
|
||||
}
|
||||
|
||||
var checkConsignments = function(index) {
|
||||
var qty = UnformatNumber($('#quantity_' + index).val());
|
||||
if (qty<0 && Math.abs(qty)>items[index].product_consignment_qty) {
|
||||
items[index].product_consignment_part='';
|
||||
items[index].product_consignment_id='';
|
||||
items[index].product_consignment_qty='';
|
||||
$('#product_consignment_part'+index).val('');
|
||||
$('#product_consignment_id'+index).val('');
|
||||
}
|
||||
}
|
||||
|
||||
var getConsignmentsDiv = function(index) {
|
||||
$('#consignments_div_' + index).remove(); // panel exists
|
||||
var prod_id = $('#itemsTable_T > tbody').find('#product_id_' + index).val();
|
||||
if (!prod_id || prod_id == "")
|
||||
return; // empty row
|
||||
var gcd = '#product_consignment_part_' + index;
|
||||
var gci = '#product_consignment_id_' + index;
|
||||
var container = $('#itemsTable_T > tbody').find('#name_' + index).parent();
|
||||
console.log(index);
|
||||
// if (handler.prev().attr('name') != 'vsbr') handler.before('<br
|
||||
// name="vsbr">'); //VerySpecialBR - first with name :)
|
||||
var qty = UnformatNumber($('#itemsTable_T > tbody').find(
|
||||
'#quantity_' + index).val());
|
||||
var div = $('<div></div>');
|
||||
div.attr('id', 'consignments_div_' + index);
|
||||
div.attr('name', 'consignments_div_' + index);
|
||||
div.css('float', 'left');
|
||||
div.css('text-align', 'left');
|
||||
div.css('border', '1px solid rgb(204,204,204)');
|
||||
div.css('padding', '3px');
|
||||
div.css('display', 'none');
|
||||
div.css('width', '90%');
|
||||
var qty = UnformatNumber($('#itemsTable_T > tbody').find(
|
||||
'#quantity_' + index).val());
|
||||
var prod_id = $('#itemsTable_T > tbody').find('#product_id_' + index).val();
|
||||
div.append('<table></table>');
|
||||
container.append(div);
|
||||
|
||||
if (items[index].product_is_consignment == '1')
|
||||
div.append(getConsignments(prod_id, qty, $("#stock_id").val(), index));
|
||||
else{
|
||||
if( ($('#type').val()=='2dcd99ce-c2fe-6bbd-6d1a-5512a569c4e0') || ($('#type').val()=='1')){
|
||||
div.append(getDocuments(prod_id, qty, $("#stock_id").val(), index));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
var getDocuments = function(prod_id, qty, stock_id, index) {
|
||||
// AJAX call
|
||||
|
||||
var a = jQuery
|
||||
.ajax({
|
||||
type : 'POST',
|
||||
url : 'index.php?module=EcmStockDocCorrects&action=javahelper&to_pdf=1',
|
||||
data : {
|
||||
job : 'getConsignmentsDocs',
|
||||
prod_id : prod_id,
|
||||
stock_id : stock_id
|
||||
},
|
||||
dataType : 'json',
|
||||
async : false,
|
||||
});
|
||||
var consignments = $.parseJSON(a.responseText);
|
||||
var last = consignments.length - 1;
|
||||
var container = $('<table></table>');
|
||||
container.css('width', '100%');
|
||||
$.each(consignments, function(i, c) {
|
||||
var p = $('<p></p>');
|
||||
var tr = $('<tr></tr>');
|
||||
tr.css('width', '100%');
|
||||
var a = $('<a></a>');
|
||||
a.html(c.part_no);
|
||||
a.attr('index', index);
|
||||
if (c.availability >= Math.abs(qty)) {
|
||||
a.click(function(event) {
|
||||
var t = $(event.target);
|
||||
var index = t.attr('index');
|
||||
$('#product_consignment_id_' + index).val(c.operation_id)
|
||||
$('#product_consignment_part_' + index).val(c.part_no);
|
||||
$('#product_consignment_qty_' + index).val(c.availability);
|
||||
console.log("tutut");
|
||||
|
||||
if( ($('#type').val()=='2dcd99ce-c2fe-6bbd-6d1a-5512a569c4e0')){
|
||||
$('#quantity_' + index).val(FormatNumber(c.availability,c.precision));
|
||||
} else {
|
||||
$('#quantity_' + index).val(FormatNumber(c.availability*-1,c.precision));
|
||||
}
|
||||
//$('#quantity_' + index).attr('readonly', 'readonly');
|
||||
$('#price_'+index).val(FormatNumber(c.price));
|
||||
$('#price_old_'+index).val(FormatNumber(c.price));
|
||||
console.log($('#type').val());
|
||||
if ($('#type').val() == '2dcd99ce-c2fe-6bbd-6d1a-5512a569c4e0') {
|
||||
$('#price_old_'+index).attr('type','text');
|
||||
$('<br>').insertAfter('#price_'+index);
|
||||
$('#quantity_' + index).val(FormatNumber(c.availability,c.precision));
|
||||
} else {
|
||||
$('#quantity_' + index).val(FormatNumber(c.availability*-1,c.precision));
|
||||
}
|
||||
//insert max qty
|
||||
$('#max_quantity_'+index).remove();
|
||||
$('#quantity_'+index).parent().append('<p style="text-align: right;" id="max_quantity_'+index+'">(Max: '+FormatNumber(c.availability,c.precision)+')</p>');
|
||||
$('#quantity_'+index).focus();
|
||||
items[index].product_consignment_id = c.operation_id;
|
||||
items[index].product_consignment_part = c.part_no;
|
||||
items[index].product_consignment_qty = c.availability;
|
||||
calculateRow(index);
|
||||
var div = $('#consignments_div_' + index);
|
||||
div.hide('slow');
|
||||
});
|
||||
a.css('cursor', 'pointer');
|
||||
a.css('color', 'blue');
|
||||
} else
|
||||
a.css('color', 'red');
|
||||
var td = $('<td></td>');
|
||||
td.append(a);
|
||||
tr.append(td);
|
||||
var td = $('<td></td>');
|
||||
td.append(c.part_no);
|
||||
tr.append(td);
|
||||
var td = $('<td></td>');
|
||||
td.append(FormatNumber(c.availability,c.precision) + ' ' + c.unit);
|
||||
tr.append(td);
|
||||
var td = $('<td></td>');
|
||||
td.append(FormatNumber(c.price) + ' ' + c.currency + ' / ' + c.unit);
|
||||
tr.append(td);
|
||||
container.append(tr);
|
||||
});
|
||||
// show div
|
||||
$('#consignments_div_' + index).show('slow');
|
||||
return container;
|
||||
}
|
||||
|
||||
var getConsignments = function(prod_id, qty, stock_id, index) {
|
||||
// AJAX call
|
||||
var a = jQuery
|
||||
.ajax({
|
||||
type : 'POST',
|
||||
url : 'index.php?module=EcmStockDocCorrects&action=javahelper&to_pdf=1',
|
||||
data : {
|
||||
job : 'getConsignments',
|
||||
prod_id : prod_id,
|
||||
stock_id : stock_id
|
||||
},
|
||||
dataType : 'json',
|
||||
async : false,
|
||||
});
|
||||
var consignments = $.parseJSON(a.responseText);
|
||||
var last = consignments.length - 1;
|
||||
var container = $('<table></table>');
|
||||
container.css('width', '100%');
|
||||
$.each(consignments, function(i, c) {
|
||||
var p = $('<p></p>');
|
||||
var tr = $('<tr></tr>');
|
||||
tr.css('width', '100%');
|
||||
var a = $('<a></a>');
|
||||
a.html(c.document_no);
|
||||
a.attr('index', index);
|
||||
if (c.availability >= Math.abs(qty)) {
|
||||
a.click(function(event) {
|
||||
var t = $(event.target);
|
||||
var index = t.attr('index');
|
||||
$('#product_consignment_id_' + index).val(c.operation_id)
|
||||
$('#product_consignment_part_' + index).val(c.part_no);
|
||||
$('#product_consignment_qty_' + index).val(c.availability);
|
||||
if ($('#type').val() == '6ed5b076-ddd1-9809-b236-54e5b2bcbd97') {
|
||||
|
||||
|
||||
$('#price_old_'+index).remove();
|
||||
$('#onlyRemove_'+index).remove();
|
||||
|
||||
$('#price_'+index).parent().append('<div id="onlyRemove_'+index+'"><p style="text-align:right">(było: '+FormatNumber(c.price)+')</p><input type="hidden" readonly="readonly" value="'+FormatNumber(c.price)+'" onclick="$(this).select();" style="text-align: right;background-color:#ffffff;" id="price_old_'+index+'" name="price_old_'+index+'" class="inputs"></div>');
|
||||
$('#quantity_' + index).val(FormatNumber(c.availability,c.precision));
|
||||
$('#quantity_' + index).attr('readonly',true);
|
||||
} else {
|
||||
$('#quantity_' + index).val(FormatNumber(c.availability*-1,c.precision));
|
||||
}
|
||||
$('#price_'+index).val(FormatNumber(c.price));
|
||||
//insert max qty
|
||||
if ($('#type').val() == '6ed5b076-ddd1-9809-b236-54e5b2bcbd97') {
|
||||
$('#quantity_'+index).parent().append('<p style="text-align: right;" id="max_quantity_'+index+'">(Max: '+FormatNumber(c.availability,c.precision)+')</p>');
|
||||
} else {
|
||||
$('#quantity_'+index).parent().append('<p style="text-align: right;" id="max_quantity_'+index+'">(Max: '+FormatNumber(c.availability*-1,c.precision)+')</p>');
|
||||
}
|
||||
$('#quantity_'+index).focus();
|
||||
items[index].product_consignment_id = c.operation_id;
|
||||
items[index].product_consignment_part = c.part_no;
|
||||
items[index].product_consignment_qty = c.availability;
|
||||
calculateRow(index);
|
||||
var div = $('#consignments_div_' + index);
|
||||
div.hide('slow');
|
||||
});
|
||||
a.css('cursor', 'pointer');
|
||||
a.css('color', 'blue');
|
||||
} else
|
||||
a.css('color', 'red');
|
||||
var td = $('<td></td>');
|
||||
td.append(a);
|
||||
tr.append(td);
|
||||
var td = $('<td></td>');
|
||||
td.append(c.part_no);
|
||||
tr.append(td);
|
||||
var td = $('<td></td>');
|
||||
td.append(FormatNumber(c.availability,c.precision) + ' ' + c.unit);
|
||||
tr.append(td);
|
||||
var td = $('<td></td>');
|
||||
td.append(FormatNumber(c.price) + ' ' + c.currency + ' / ' + c.unit);
|
||||
tr.append(td);
|
||||
container.append(tr);
|
||||
});
|
||||
// show div
|
||||
$('#consignments_div_' + index).show('slow');
|
||||
return container;
|
||||
}
|
||||
|
||||
function checkConsignmentsValues() {
|
||||
var count = items.length;//$('#' + itemsTable + '_T tr').length - 1; // -1 - thead row
|
||||
var NO_ERROR = true;
|
||||
for (var index = 0; index < count; index++) {
|
||||
if ($('#type').val()=='6ed5b076-ddd1-9809-b236-54e5b2bcbd97') {
|
||||
var tmp = items[index].product_consignment_part;
|
||||
if (!tmp) tmp = '';
|
||||
if (tmp.length==0) NO_ERROR = false;
|
||||
}
|
||||
}
|
||||
return NO_ERROR;
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
//START:
|
||||
$(document).ready(
|
||||
function() {
|
||||
// confirm exit
|
||||
window.onbeforeunload = confirmExit;
|
||||
// prevent submit by enter press
|
||||
lockEnter();
|
||||
// categories
|
||||
getCategoriesList();
|
||||
// searchProductInput change
|
||||
$('#searchProductsInput').keyup(function() {
|
||||
searchProducts();
|
||||
});
|
||||
$("#stock").change(function() {
|
||||
$("#stock_id").val(($("#stock :selected").val()));
|
||||
});
|
||||
DrawHeaders();
|
||||
|
||||
$("#register_date").prop("disabled", true);
|
||||
$("#assigned_user_name").prop("disabled", true);
|
||||
$("#register_date_trigger").hide();
|
||||
$("#btn_assigned_user_name").hide();
|
||||
$("#btn_clr_assigned_user_name").hide();
|
||||
|
||||
if (($("#new_number").val() == true)
|
||||
&& ($("#duplicate").val() != true)) {
|
||||
generateNumber();
|
||||
} else if (($("#new_number").val() == true)
|
||||
&& ($("#duplicate").val() == true)) {
|
||||
generateNumber();
|
||||
getItems();
|
||||
}
|
||||
// handle setItems
|
||||
setITEMS = function() {
|
||||
var formname = 'EditView';
|
||||
if (check_form_(formname) == true) {
|
||||
SetTab('ITEMS');
|
||||
checkProducts();
|
||||
//disable stock change
|
||||
$("#stock").prop("disabled", true);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
});
|
||||
// handle save
|
||||
var check_form_ = check_form;
|
||||
check_form = function(formname) {
|
||||
|
||||
window.onbeforeunload = null;
|
||||
if (items.length == 0) {
|
||||
alert("Brak produktów");
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($('#type').val() == '2dcd99ce-c2fe-6bbd-6d1a-5512a569c4e0' || $('#type').val() == '1') {
|
||||
$.each(items, function(i, v) {
|
||||
if (!v.product_id || v.product_id=="") return;
|
||||
if (!v.product_consignment_id || v.product_consignment_id=="") {
|
||||
alert("Nie wybrano partii");
|
||||
return false;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
$(".loading_panel").css("display", "block");
|
||||
$("#register_date").prop("disabled", false);
|
||||
$("#assigned_user_name").prop("disabled", false);
|
||||
|
||||
$("#position_list").val(JSON.stringifyNoSecurity(items));
|
||||
|
||||
var check = checkProducts();
|
||||
|
||||
$(".loading_panel").css("display", "none");
|
||||
if (check_form_(formname) == false || check == false) {
|
||||
$("#register_date").prop("disabled", true);
|
||||
$("#assigned_user_name").prop("disabled", true);
|
||||
window.onbeforeunload = confirmExit;
|
||||
$(".loading_panel").css("display", "none");
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
|
||||
};
|
||||
function confirmExit() {
|
||||
return "";
|
||||
}
|
||||
|
||||
function lockEnter() {
|
||||
// prevent default
|
||||
$(window).keydown(function(event) {
|
||||
if (event.keyCode == 13 && $(":focus").prop('tagName')!='TEXTAREA') {
|
||||
event.preventDefault();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
//START:
|
||||
$(document).ready(
|
||||
function() {
|
||||
DrawHeaders();
|
||||
getItems(false);
|
||||
});
|
||||
|
||||
768
modules/EcmStockDocCorrects/javascript/bimit_table.js
Normal file
768
modules/EcmStockDocCorrects/javascript/bimit_table.js
Normal file
@@ -0,0 +1,768 @@
|
||||
var itemsTable = 'itemsTable';
|
||||
var items = new Array();
|
||||
var displayArray = new Array();
|
||||
var searchedProducts = new Array();
|
||||
var ajax_url = "index.php?module=EcmStockDocCorrects&action=javahelper&to_pdf=1";
|
||||
|
||||
function FillTable(data, allReadOnly) {
|
||||
html = '';
|
||||
// loop throw data rows
|
||||
$
|
||||
.each(
|
||||
data,
|
||||
function(row_index, row) {
|
||||
|
||||
html += '<tr>';
|
||||
// and insert columns
|
||||
$
|
||||
.each(
|
||||
columns,
|
||||
function(col_index, column) {
|
||||
// row must have code and name
|
||||
if (!row.product_code
|
||||
|| row.product_code == ''
|
||||
|| !row.name
|
||||
|| row.name == '')
|
||||
return; // return in each =
|
||||
// continue in php for
|
||||
// loop
|
||||
// special types
|
||||
if (column.name == 'number') {
|
||||
html += '<td><input class="inputs" style="text-align: center;" type="text" id="number_'
|
||||
+ row_index
|
||||
+ '" name="number_'
|
||||
+ row_index
|
||||
+ '" readonly value="'
|
||||
+ (row_index + 1)
|
||||
+ '"/></td>';
|
||||
} else if (column.name == 'name') {
|
||||
html += '<td><textarea style="width: 100%; height: 100%;" id="name_'
|
||||
+ row_index
|
||||
+ '" name="name_'
|
||||
+ row_index + '"';
|
||||
if (allReadOnly)
|
||||
html += ' readonly';
|
||||
html += '>' + row.name
|
||||
+ '</textarea></td>';
|
||||
} else if (column.name == 'options') {
|
||||
if (allReadOnly)
|
||||
html += '<td></tr>';
|
||||
else {
|
||||
html += '<td>';
|
||||
// move up
|
||||
html += '<a onClick="moveUpRow('
|
||||
+ row_index
|
||||
+ ')" target="_blank"><img style="cursor:pointer;" src="modules/EcmStockDocCorrects/images/moverowup.gif"/></a>';
|
||||
html += ' ';
|
||||
// move down
|
||||
html += '<a onClick="moveDownRow('
|
||||
+ row_index
|
||||
+ ')" target="_blank"><img style="cursor:pointer;" src="modules/EcmStockDocCorrects/images/moverowdown.gif"/></a>';
|
||||
html += '<br>';
|
||||
// delete row
|
||||
html += '<a onClick="deleteRow('
|
||||
+ row_index
|
||||
+ ')" target="_blank"><img style="cursor:pointer;" src="modules/EcmStockDocCorrects/images/deleterow.gif"/></a>';
|
||||
html += '</td>';
|
||||
}
|
||||
}
|
||||
// other types
|
||||
else {
|
||||
html += '<td style="'+column.style+'">';
|
||||
$
|
||||
.each(
|
||||
column.content,
|
||||
function(
|
||||
cell_index,
|
||||
cell) {
|
||||
var cellname = column.name
|
||||
+ cell.name;
|
||||
if (cellname == 'product_link') {
|
||||
html += '<a href="index.php?module=EcmProducts&action=DetailView&record='
|
||||
+ row.product_id
|
||||
+ '" target="_blank">'
|
||||
+ row.product_code
|
||||
+ '</a>';
|
||||
} else if (cellname == 'price_start_div'
|
||||
&& !allReadOnly) {
|
||||
html += '<br><img style="cursor: pointer;" src="modules/EcmQuotes/images/search.gif" onClick="if ($(\'#price_start_div_'
|
||||
+ row_index
|
||||
+ '\').css(\'display\')==\'none\') getPricesInfo('
|
||||
+ row_index
|
||||
+ '); else $(\'#price_start_div_'
|
||||
+ row_index
|
||||
+ '\').hide(\'slow\')"/>';
|
||||
html += '<div id="'
|
||||
+ cellname
|
||||
+ '_'
|
||||
+ row_index
|
||||
+ '" style="display:none;float:right;text-align:right;border: 1px #cccccc solid;padding:3px;"></div>';
|
||||
} else {
|
||||
if (cell.label
|
||||
&& cell.label != '')
|
||||
html += '<p>'
|
||||
+ cell.label
|
||||
+ '</p>';
|
||||
html += '<input class="inputs" type="'
|
||||
+ cell.type
|
||||
+ '" name="'
|
||||
+ cellname
|
||||
+ '_'
|
||||
+ row_index
|
||||
+ '" id="'
|
||||
+ cellname
|
||||
+ '_'
|
||||
+ row_index
|
||||
+ '"';
|
||||
if (cell.readonly
|
||||
|| allReadOnly)
|
||||
html += ' readonly ';
|
||||
if (column.align)
|
||||
html += ' style="text-align: '
|
||||
+ column.align
|
||||
+ ';"';
|
||||
if (cell.precision) precision = cell.precision; else precision = 2;
|
||||
if (cell.onChange
|
||||
|| cell.isNumber) {
|
||||
if (cellname == 'quantity')
|
||||
precision = 4;
|
||||
html += ' onChange="$(this).val(FormatNumber($(this).val(),'+precision+'));'
|
||||
+ cell.onChange
|
||||
+ '" onClick="$(this).select();"';
|
||||
|
||||
}
|
||||
else if (cell.onChange
|
||||
|| !cell.isNumber)
|
||||
html += ' onChange="'
|
||||
+ cell.onChange
|
||||
+ '" ';
|
||||
if (row[cellname]
|
||||
&& cell.isNumber){
|
||||
if(cellname=='stock_state'){
|
||||
precision = 4;
|
||||
}
|
||||
html += ' value="'
|
||||
+ FormatNumber(row[cellname], precision)
|
||||
+ '" ';
|
||||
}else if (row[cellname])
|
||||
html += ' value="'
|
||||
+ row[cellname]
|
||||
+ '" ';
|
||||
else {
|
||||
if (cell.isNumber){
|
||||
if (cellname == 'quantity'){
|
||||
html += ' value="0,0000" ';
|
||||
} else {
|
||||
html += ' value="0,00" ';
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
html += ' value="" ';
|
||||
}
|
||||
html += '>';
|
||||
}
|
||||
});
|
||||
html += '</td>';
|
||||
}
|
||||
|
||||
});
|
||||
html += '</tr>';
|
||||
|
||||
});
|
||||
|
||||
$('#' + itemsTable + '_T > tbody').html(html);
|
||||
if (allReadOnly)
|
||||
DrawDetailSummary();
|
||||
|
||||
}
|
||||
function calculateAll() {
|
||||
var count = $('#' + itemsTable + '_T tr').length - 1; // -1 - thead row
|
||||
for (var index = 0; index != count; index++) {
|
||||
calculateRow(index);
|
||||
}
|
||||
}
|
||||
function calculateRow(index) {
|
||||
if (index == -1)
|
||||
return;
|
||||
items[index].quantity_consignment_id = $('#quantity_consignment_id_'+index).val();
|
||||
items[index].quantity_consignment_doc = $('#quantity_consignment_doc_'+index).val();
|
||||
getConsignmentsDiv(index);
|
||||
|
||||
if( ($('#type').val()=='2dcd99ce-c2fe-6bbd-6d1a-5512a569c4e0') || ($('#type').val()=='1')){
|
||||
getConsignmentsDiv(index);
|
||||
}
|
||||
// liczone według najlepszych zasad księgowości
|
||||
var price = UnformatNumber($('#price_' + index).val());
|
||||
var quantity = UnformatNumber($('#quantity_' + index).val());
|
||||
|
||||
|
||||
//alert(palet);
|
||||
var total = price * quantity;
|
||||
|
||||
// put data
|
||||
$('#product_total_' + index).val(FormatNumber(total));
|
||||
|
||||
// put data to items array
|
||||
items[index].price = toFixed(price, 2);
|
||||
|
||||
items[index].product_total = total;
|
||||
items[index].quantity = toFixed(quantity, 4);
|
||||
|
||||
items[index].name = $('#name_' + index).val();
|
||||
items[index].unit_name = $('#unit_name_' + index).val();
|
||||
|
||||
console.log(items[index]);
|
||||
|
||||
// calculate total
|
||||
calculateTotal();
|
||||
}
|
||||
function calculateTotal() {
|
||||
var count = $('#' + itemsTable + '_T tr').length - 1; // -1 - thead row
|
||||
var vats = new Array();
|
||||
var all_subtotal = 0;
|
||||
var all_total = 0;
|
||||
var sum_vats = 0;
|
||||
var sum_discounts = 0;
|
||||
var weight_total=0;
|
||||
|
||||
|
||||
for (var index = 0; index != count; index++) {
|
||||
subtotal = UnformatNumber($('#product_total_' + index).val());
|
||||
if(!isNaN(subtotal)){
|
||||
all_subtotal += subtotal;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
all_total = all_subtotal;
|
||||
|
||||
DrawSummary();
|
||||
|
||||
$("#t_netto").val(FormatNumber(all_total));
|
||||
|
||||
}
|
||||
function DrawSummary() {
|
||||
$("#result_table").html('');
|
||||
html = '';
|
||||
html += '<tr id="subtotal_tr"> ';
|
||||
html += '<td class="positionsLabel" style="border-top:0px;">Suma</td>';
|
||||
html += '<td class="positionsField" style="border-top:0px;"><input type="text" style="border:0px;font-weight:900;width:100%;text-align:right;" readonly="readonly" name="t_netto" id="t_netto" value=\'\'></td>';
|
||||
html += '</tr>';
|
||||
$("#result_table").html(html);
|
||||
}
|
||||
function deleteRow(index) {
|
||||
items.splice(index, 1);
|
||||
FillTable(items);
|
||||
}
|
||||
|
||||
function moveUpRow(index) {
|
||||
if (index == 0)
|
||||
return; // Can't go upper.. :(
|
||||
var new_index = index - 1;
|
||||
var old_index = index;
|
||||
if (new_index >= items.length) {
|
||||
var k = new_index - items.length;
|
||||
while ((k--) + 1) {
|
||||
items.push(undefined);
|
||||
}
|
||||
}
|
||||
items.splice(new_index, 0, items.splice(old_index, 1)[0]);
|
||||
FillTable(items);
|
||||
}
|
||||
|
||||
function moveDownRow(index) {
|
||||
if (index == items.length - 1)
|
||||
return; // Can't go lower.. :(
|
||||
var new_index = index + 1;
|
||||
var old_index = index;
|
||||
if (new_index >= items.length) {
|
||||
var k = new_index - items.length;
|
||||
while ((k--) + 1) {
|
||||
items.push(undefined);
|
||||
}
|
||||
}
|
||||
items.splice(new_index, 0, items.splice(old_index, 1)[0]);
|
||||
FillTable(items);
|
||||
}
|
||||
|
||||
function FormatNumber(number, precision) {
|
||||
|
||||
var precision = precision || 2;
|
||||
// make string..
|
||||
number = number + '';
|
||||
|
||||
var minus = false;
|
||||
if (number.charAt(0) == '-') {
|
||||
minus = true;
|
||||
number = number.slice(1);
|
||||
}
|
||||
|
||||
number = number.replace(',', '.');
|
||||
// round
|
||||
number = toFixed(number, precision);
|
||||
// add 1000 sep
|
||||
var tmp = number.split(".");
|
||||
var c = '';
|
||||
for (var i = tmp[0].length; i != -1; i--) {
|
||||
c += tmp[0].charAt(i);
|
||||
if ((tmp[0].length - i) == 0 || i == 0)
|
||||
continue;
|
||||
if ((tmp[0].length - i) % 3 == 0)
|
||||
c += '.';
|
||||
}
|
||||
// reverse c
|
||||
c = c.split("").reverse().join("");
|
||||
// minus
|
||||
if (minus)
|
||||
c = '-' + c;
|
||||
|
||||
return c + ',' + tmp[1];
|
||||
}
|
||||
|
||||
function UnformatNumber(number) {
|
||||
// make string..
|
||||
number = number + '';
|
||||
// remove 1000 sep
|
||||
number = number.replace('.', '');
|
||||
// change ',' to '.'
|
||||
number = number.replace(',', '.');
|
||||
|
||||
return parseFloat(number);
|
||||
}
|
||||
|
||||
// round with precision
|
||||
|
||||
function toFixed(value, precision) {
|
||||
|
||||
var minus = false;
|
||||
value+='';
|
||||
if (value.charAt(0) == '-') {
|
||||
minus = true;
|
||||
value = value.slice(1);
|
||||
}
|
||||
|
||||
var precision = precision || 0, neg = value < 0, power = Math.pow(10,
|
||||
precision), value = Math.round(value * power), integral = String((neg ? Math.ceil
|
||||
: Math.floor)(value / power)), fraction = String((neg ? -value
|
||||
: value)
|
||||
% power), padding = new Array(Math.max(precision - fraction.length,
|
||||
0) + 1).join('0');
|
||||
|
||||
// minus
|
||||
if (minus)
|
||||
integral = '-' + integral;
|
||||
|
||||
return precision ? integral + '.' + padding + fraction : integral;
|
||||
}
|
||||
|
||||
|
||||
// draw table
|
||||
function DrawHeaders() {
|
||||
var html = '<link rel="stylesheet" type="text/css" href="modules/EcmQuotes/MyTable.css" />';
|
||||
html += '<div style="width:100%;border: 1px solid rgb(48,192,255);background-color:white;height: 250px;overflow:auto;" id="'
|
||||
+ itemsTable + 'DIV">';
|
||||
html += '<table class="positions" style="width:100%;" id="' + itemsTable
|
||||
+ '_T">';
|
||||
html += '<thead id="head">';
|
||||
html += '<tr id="tr">';
|
||||
// draw columns headers
|
||||
$.each(columns, function(index, column) {
|
||||
html += '<td width="' + column.width + '%" style="'+column.style+'">' + column.label + '</td>';
|
||||
});
|
||||
html += '</tr></thead><tbody></tbody></table>';
|
||||
html += '</div><br>';
|
||||
// totals table
|
||||
html += '<table width="100%"" cellpadding="0" cellspacing="0" border="0">';
|
||||
html += '<tr>';
|
||||
html += '<td width="55%" class="dataLabel" valign="top">';
|
||||
html += ' ';
|
||||
html += '</td> <!--color:#b3b9cf;-->';
|
||||
html += '<td width="40%" class="dataField" style="text-align: left;">';
|
||||
html += '<br>';
|
||||
html += '<table id="result_table" cellpadding="0" cellspacing="0" style="width:100%; height:100%; border: 1px solid rgb(48,192,255);">';
|
||||
html += '</table>';
|
||||
html += '</td>';
|
||||
html += '<td width="5%" class="dataField" style="text-align: left;"> </td>';
|
||||
html += '</tr>';
|
||||
html += '</table>';
|
||||
// sort? why not!
|
||||
/*
|
||||
* html += 'Sortowanie: '; html += '<select id="sort_field"
|
||||
* onChange="sortTable();"'; html += '<option value=""></option>'; html += '<option
|
||||
* value="name">Nazwa</option>'; html += '<option value="code">Kod</option>';
|
||||
* html += '<option value="category">Kategoria</option>'; html += '<option
|
||||
* value="category">Kategoria</option>'; html += '<option
|
||||
* value="price">Cena po<br>upuście</option>'; html += '<option
|
||||
* value="total">Wartość</option>'; html += '</select>';
|
||||
*/
|
||||
$('#' + itemsTable).html(html);
|
||||
}
|
||||
function searchProducts() {
|
||||
var searchKey = $('#searchProductsInput').val();
|
||||
if (searchKey.length < 2 && searchKey != '%') {
|
||||
return;
|
||||
}
|
||||
$("#searchResultDiv").html(
|
||||
'<img src="modules/EcmQuotes/images/loading.gif"/>');
|
||||
setTimeout(function() {
|
||||
if (searchKey == $('#searchProductsInput').val()) {
|
||||
var params = {
|
||||
job : 'searchProducts',
|
||||
searchKey : searchKey,
|
||||
searchCategory : $("#productSearchCategory :selected").val(),
|
||||
searchStock : $("#productSearchStock :selected").val(),
|
||||
searchSort : $("#productSearchSort :selected").val(),
|
||||
searchStockId : $("#stock :selected").val(),
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
type : "POST",
|
||||
url : ajax_url,
|
||||
dataType : "json",
|
||||
success : function(data) {
|
||||
if (data != '-1')
|
||||
if (data.length == 0)
|
||||
$('#searchResultDiv').html(
|
||||
'MOD.LBL_SEARCH_NO_RESULT');
|
||||
else
|
||||
createSearchResult(data);
|
||||
},
|
||||
data : params
|
||||
});
|
||||
}
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
function createSearchResult(data) {
|
||||
var html = '<table style="text-align: center;" cellpadding="0" cellspacing="0" width="100%" border="0" class="list view">';
|
||||
html += '<theader><tr>';
|
||||
html += '<th style="width: 15pt; margin: auto auto;"> </th>';
|
||||
html += '<th style="width: 100pt; text-align: left;">Kod</th>';
|
||||
html += '<th style="width: 300pt; text-align: left;">Nazwa</th>';
|
||||
if ($("#productSearchStock :selected").val() != '1')
|
||||
html += '<th style="width: 30pt; text-align: right;">Stan</th>';
|
||||
|
||||
html += '</tr></thead>';
|
||||
var counter;
|
||||
$
|
||||
.each(
|
||||
data,
|
||||
function(index, value) {
|
||||
if(counter%2==0){
|
||||
html += '<tr style="height: 15pt;" class="oddListRowS1">';
|
||||
} else {
|
||||
html += '<tr style="height: 15pt;" class="evenListRowS1">';
|
||||
}
|
||||
html += '<td style=""><input id="prod_'
|
||||
+ value.id + '" type="checkbox"/></td>';
|
||||
html += '<td style="text-align:left" onClick="$(\'#prod_'
|
||||
+ value.id
|
||||
+ '\').prop(\'checked\', true);">'
|
||||
+ value.code + '</td>';
|
||||
html += '<td style="text-align:left" onClick="unsetAllCheckboxes(); $(\'#prod_'
|
||||
+ value.id
|
||||
+ '\').prop(\'checked\', true); return addProducts();">'
|
||||
+ value.name + '</td>';
|
||||
if ($("#productSearchStock :selected").val() != '1')
|
||||
html += '<td style="text-align:right">'
|
||||
+ value.stock_state + '</td>';
|
||||
html += '</tr>';
|
||||
searchedProducts.push(value.id);
|
||||
counter++;
|
||||
});
|
||||
// add button
|
||||
html += '</table><br>';
|
||||
html += 'Ilość: <input type="text" id="searchInputQty" value=""/>';
|
||||
html += '<br><br><input type="button" value="Dodaj wiele" onClick="return addProducts();"/>';
|
||||
$('#searchResultDiv').html(html);
|
||||
}
|
||||
|
||||
function unsetAllCheckboxes() {
|
||||
$("#searchResultDiv input[type=checkbox]").each(function() {
|
||||
$(this).prop("checked", false);
|
||||
});
|
||||
}
|
||||
|
||||
function addProducts() {
|
||||
$(".loading_panel").css("display", "block");
|
||||
var products = new Array();
|
||||
$.each(searchedProducts, function(index, value) {
|
||||
if ($('#prod_' + value).is(':checked'))
|
||||
products[value] = true;
|
||||
});
|
||||
var stockId=$("#stock :selected").val();
|
||||
for ( var key in products) {
|
||||
var params = {
|
||||
job : 'getProduct',
|
||||
id : key,
|
||||
stockId : stockId,
|
||||
};
|
||||
$.ajax({
|
||||
type : "POST",
|
||||
url : ajax_url,
|
||||
dataType : "json",
|
||||
async : false,
|
||||
success : function(data) {
|
||||
if (data != '-1') {
|
||||
var p = new Object();
|
||||
p.product_id = data.id;
|
||||
p.name = data.name;
|
||||
p.product_code = data.code;
|
||||
p.price = data.price;
|
||||
p.unit_name = data.unit_name;
|
||||
p.unit_id = data.unit_id;
|
||||
p.ecmvat_id = data.ecmvat_id;
|
||||
p.ecmvat_value = data.ecmvat_value;
|
||||
p.ecmvat_name = data.ecmvat_name;
|
||||
p.stock_state = data.stock_state;
|
||||
p.product_category_id = data.product_category_id;
|
||||
if ($("#searchInputQty").val() != ''
|
||||
&& !isNaN(parseFloat(UnformatNumber($(
|
||||
"#searchInputQty").val()))))
|
||||
p.quantity = $("#searchInputQty").val();
|
||||
items.push(p);
|
||||
console.log(p);
|
||||
}
|
||||
},
|
||||
data : params
|
||||
});
|
||||
}
|
||||
FillTable(items);
|
||||
// clear results
|
||||
calculateAll();
|
||||
$('#searchResultDiv').html('');
|
||||
searchedProducts = new Array();
|
||||
$('#searchProductsInput').val('');
|
||||
|
||||
$(".loading_panel").css("display", "none");
|
||||
}
|
||||
|
||||
function getItems(editview) {
|
||||
var record = '';
|
||||
if ($("#duplicate").val() == true)
|
||||
record = $("input[name='return_id']").val();
|
||||
else
|
||||
record = $("input[name='record']").val();
|
||||
if (isNaN(editview))
|
||||
editview = true;
|
||||
var params = {
|
||||
job : 'getItems',
|
||||
record : record,
|
||||
};
|
||||
$.ajax({
|
||||
type : "POST",
|
||||
url : ajax_url,
|
||||
dataType : "json",
|
||||
success : function(data) {
|
||||
items = data;
|
||||
if (editview)
|
||||
FillTable(items, false);
|
||||
else
|
||||
FillTable(items, true);
|
||||
$(".loading_panel").css("display", "none");
|
||||
},
|
||||
data : params
|
||||
});
|
||||
}
|
||||
|
||||
function DrawDetailSummary() {
|
||||
$("#result_table").html('');
|
||||
html = '';
|
||||
html += '<tr id="subtotal_tr"> ';
|
||||
html += '<td class="positionsLabel" style="border-top:0px;">Suma dokumentu</td>';
|
||||
html += '<td class="positionsField" style="border-top:0px;"><input type="text" style="border:0px;font-weight:900;width:100%;text-align:right;" readonly="readonly" name="t_netto" id="t_netto" value=\''
|
||||
+ $("#doc_total").val() + '\'></td>';
|
||||
html += '</tr>';
|
||||
html += '<tr id="discount_tr"> ';
|
||||
html += '<td class="positionsLabel">Suma operacji: wyjście</td>';
|
||||
html += '<td class="positionsField"><input type="text" readonly="readonly" style="border:0px;font-weight:900;width:100%;text-align:right;" name="disc" id="disc" value=\''
|
||||
+ $("#operations_out").val() + '\'></td>';
|
||||
html += '</tr>';
|
||||
html += '<tr id="total_tr"> ';
|
||||
html += '<td class="positionsLabel">Suma operacji: wejście</td>';
|
||||
html += '<td class="positionsField"><input type="text" readonly="readonly" style="border:0px;font-weight:900;width:100%;text-align:right;" name="t_brutto" id="t_brutto" value=\''
|
||||
+ $("#operations_in").val() + '\'></td>';
|
||||
html += '</tr>';
|
||||
html += '<tr id="total_tr"> ';
|
||||
html += '<td class="positionsLabel"><a href="index.php?module=EcmStockOperations&custom_parent_id='
|
||||
+ $("input[name=record]").val()
|
||||
+ '" target="blank">Podgląd operacji magazynowych</a></td>';
|
||||
html += '<td class="positionsField"> </td>';
|
||||
html += '</tr>';
|
||||
$("#result_table").html(html);
|
||||
}
|
||||
|
||||
function generateNumber() {
|
||||
var params = {
|
||||
job : 'generateNumber'
|
||||
};
|
||||
$.ajax({
|
||||
type : "POST",
|
||||
url : ajax_url,
|
||||
dataType : "json",
|
||||
success : function(data) {
|
||||
if (data == '-1') {
|
||||
// try loading again
|
||||
generateNumber();
|
||||
} else {
|
||||
$("#document_no").val(data.document_no);
|
||||
$("#number").val(data.number);
|
||||
$(".loading_panel").css("display", "none");
|
||||
}
|
||||
},
|
||||
data : params
|
||||
});
|
||||
}
|
||||
function getCategoriesList() {
|
||||
var params = {
|
||||
job : 'getCategoriesList'
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
type : "POST",
|
||||
url : ajax_url,
|
||||
dataType : "json",
|
||||
success : function(data) {
|
||||
var html = '<option value=""></option>';
|
||||
$.each(data, function(index, value) {
|
||||
html += '<option value="' + value.id + '">' + value.name
|
||||
+ '</option>';
|
||||
$("#productSearchCategory").html(html);
|
||||
});
|
||||
},
|
||||
data : params
|
||||
});
|
||||
}
|
||||
|
||||
function refreshStock(index) {
|
||||
var params = {
|
||||
job : 'getStockState',
|
||||
id : $("#product_id_" + index).val(),
|
||||
stockId : $("#stock_id").val(),
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
type : "POST",
|
||||
url : ajax_url,
|
||||
dataType : "json",
|
||||
async : false,
|
||||
success : function(data) {
|
||||
$("#stock_state_" + index).val(FormatNumber(data,4));
|
||||
},
|
||||
data : params
|
||||
});
|
||||
}
|
||||
|
||||
function checkProducts() {
|
||||
var count = items.length;
|
||||
var error = false; // hope :)
|
||||
for (var index = 0; index != count; index++) {
|
||||
refreshStock(index);
|
||||
var qty = UnformatNumber($("#quantity_" + index).val());
|
||||
var cat_id = $("#product_category_id_" + index).val();
|
||||
var con_qty = items[index].product_consignment_qty;
|
||||
// refresh items array
|
||||
var price_new = UnformatNumber($("#price_" + index).val());
|
||||
var price_old = UnformatNumber($("#price_old_" + index).val());
|
||||
items[index].quantity = qty;
|
||||
items[index].price = UnformatNumber($("#price_" + index).val());
|
||||
var stock = UnformatNumber($("#stock_state_" + index).val());
|
||||
|
||||
if ($('#product_is_consignment_' + index).val() != '1' && $('#product_consignment_id_' + index).val()=='' ) {
|
||||
con_qty=stock;
|
||||
}
|
||||
|
||||
if ($('#type').val() == '2dcd99ce-c2fe-6bbd-6d1a-5512a569c4e0') {
|
||||
if($('#product_consignment_id_' + index).val()==''){
|
||||
error=true;
|
||||
alert("Można przecenić tylko konkretną pozycje!");
|
||||
}
|
||||
if(qty<=0 || con_qty<qty || price_new==price_old || price_new<=0){
|
||||
error = true;
|
||||
$("#quantity_" + index).css("color", "red");
|
||||
|
||||
} else {
|
||||
$("#quantity_" + index).css("color", "black");
|
||||
}
|
||||
} else
|
||||
if ($('#type').val() == '1') {
|
||||
if(qty>=0){
|
||||
|
||||
|
||||
$("#quantity_" + index).css("color", "red");
|
||||
|
||||
} else {
|
||||
if(Math.abs(qty)>con_qty){
|
||||
console.log("czemu?");
|
||||
console.log(Math.abs(qty));
|
||||
console.log(con_qty);
|
||||
error = true;
|
||||
$("#quantity_" + index).css("color", "red");
|
||||
} else {
|
||||
$("#quantity_" + index).css("color", "black");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(qty<=0 || price_new<=0){
|
||||
error = true;
|
||||
$("#quantity_" + index).css("color", "red");
|
||||
|
||||
} else {
|
||||
$("#quantity_" + index).css("color", "black");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
if (error)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
function getComponents(index) {
|
||||
$(".loading_panel").css("display", "block");
|
||||
var product_id = items[index].product_id;
|
||||
var qty = items[index].quantity;
|
||||
//var price = items[index].price;
|
||||
|
||||
var params = {
|
||||
job : 'getComponents',
|
||||
product_id : product_id,
|
||||
};
|
||||
$.ajax({
|
||||
type : "POST",
|
||||
url : ajax_url,
|
||||
dataType : "json",
|
||||
async : false,
|
||||
success : function(data) {
|
||||
if (data.length > 0) {
|
||||
items.splice(index, 1);
|
||||
$.each(data, function(index, value) {
|
||||
var p = new Object();
|
||||
p.product_id = value.id;
|
||||
p.name = value.name;
|
||||
p.product_code = value.code;
|
||||
p.price = value.price;
|
||||
p.unit_name = value.unit_name;
|
||||
p.unit_id = value.unit_id;
|
||||
p.quantity = qty * parseInt(value.quantity);
|
||||
p.product_category_id = value.product_category_id;
|
||||
|
||||
if (p.product_category_id=='d7f876b0-1a3d-43a1-7c9b-511ba40df3d1')
|
||||
return;
|
||||
items.push(p);
|
||||
});
|
||||
};
|
||||
},
|
||||
data : params
|
||||
});
|
||||
FillTable(items);
|
||||
$(".loading_panel").css("display", "none");
|
||||
}
|
||||
|
||||
// sortable rows in main table
|
||||
$("#" + itemsTable + " tbody").sortable();
|
||||
114
modules/EcmStockDocCorrects/javascript/columndefs-detail.js
Normal file
114
modules/EcmStockDocCorrects/javascript/columndefs-detail.js
Normal file
@@ -0,0 +1,114 @@
|
||||
columns = new Array();
|
||||
// define columns
|
||||
// begin: number
|
||||
columns[0] = {
|
||||
'name' : 'number',
|
||||
'label' : 'Lp.',
|
||||
'width' : 4,
|
||||
'content' : new Array(),
|
||||
};
|
||||
columns[0]['content'][0] = {
|
||||
'name' : '',
|
||||
'type' : 'text',
|
||||
'readonly' : true
|
||||
};
|
||||
// end: number
|
||||
// begin: code
|
||||
columns[1] = {
|
||||
'name' : 'product_',
|
||||
'label' : 'Kod',
|
||||
'width' : 6,
|
||||
'content' : new Array(),
|
||||
};
|
||||
columns[1]['content'][0] = {
|
||||
'name' : 'code',
|
||||
'type' : 'hidden',
|
||||
'readonly' : true
|
||||
};
|
||||
columns[1]['content'][1] = {
|
||||
'name' : 'id',
|
||||
'type' : 'hidden'
|
||||
};
|
||||
columns[1]['content'][2] = {
|
||||
'name' : 'link',
|
||||
'type' : 'text',
|
||||
'readonly' : true
|
||||
};
|
||||
// end: code
|
||||
// begin: name
|
||||
columns[2] = {
|
||||
'name' : 'name',
|
||||
'label' : 'Nazwa',
|
||||
'width' : 20,
|
||||
'content' : new Array(),
|
||||
};
|
||||
columns[2]['content'][0] = {
|
||||
'name' : '',
|
||||
'type' : 'text'
|
||||
};
|
||||
// end: name
|
||||
// begin: quantity
|
||||
columns[3] = {
|
||||
'name' : 'quantity',
|
||||
'label' : 'Ilość',
|
||||
'width' : 5,
|
||||
'content' : new Array(),
|
||||
'align' : 'right',
|
||||
};
|
||||
columns[3]['content'][0] = {
|
||||
'name' : '',
|
||||
'type' : 'text',
|
||||
'isNumber' : true,
|
||||
'onChange' : 'checkProducts();'
|
||||
};
|
||||
columns[3]['content'][1] = {
|
||||
'name' : '_consignment_doc',
|
||||
'type' : 'text',
|
||||
};
|
||||
// end: quantity
|
||||
// begin: unit
|
||||
columns[4] = {
|
||||
'name' : 'unit_',
|
||||
'label' : 'J.M.',
|
||||
'width' : 5,
|
||||
'content' : new Array(),
|
||||
'align' : 'center',
|
||||
};
|
||||
columns[4]['content'][0] = {
|
||||
'name' : 'name',
|
||||
'type' : 'text',
|
||||
'readonly' : true
|
||||
};
|
||||
columns[4]['content'][1] = {
|
||||
'name' : 'id',
|
||||
'type' : 'hidden'
|
||||
};
|
||||
// end: unit
|
||||
// begin: price
|
||||
columns[5] = {
|
||||
'name' : 'price',
|
||||
'label' : 'Cena',
|
||||
'width' : 5,
|
||||
'content' : new Array(),
|
||||
'align' : 'right',
|
||||
};
|
||||
columns[5]['content'][0] = {
|
||||
'name' : '',
|
||||
'type' : 'text',
|
||||
'isNumber' : true
|
||||
};
|
||||
// end: price
|
||||
// begin: total
|
||||
columns[6] = {
|
||||
'name' : 'total',
|
||||
'label' : 'Wartość',
|
||||
'width' : 5,
|
||||
'content' : new Array(),
|
||||
'align' : 'right',
|
||||
};
|
||||
columns[6]['content'][0] = {
|
||||
'name' : '',
|
||||
'type' : 'text',
|
||||
'isNumber' : true
|
||||
};
|
||||
// end: total
|
||||
162
modules/EcmStockDocCorrects/javascript/columndefs.js
Normal file
162
modules/EcmStockDocCorrects/javascript/columndefs.js
Normal file
@@ -0,0 +1,162 @@
|
||||
columns = new Array();
|
||||
// define columns
|
||||
// begin: number
|
||||
columns[0] = {
|
||||
'name' : 'number',
|
||||
'label' : 'Lp.',
|
||||
'width' : 4,
|
||||
'content' : new Array(),
|
||||
};
|
||||
columns[0]['content'][0] = {
|
||||
'name' : '',
|
||||
'type' : 'text',
|
||||
'readonly' : true
|
||||
};
|
||||
// end: number
|
||||
// begin: code
|
||||
columns[1] = {
|
||||
'name' : 'product_',
|
||||
'label' : 'Kod',
|
||||
'width' : 6,
|
||||
'content' : new Array(),
|
||||
};
|
||||
columns[1]['content'][0] = {
|
||||
'name' : 'code',
|
||||
'type' : 'hidden',
|
||||
'readonly' : true
|
||||
};
|
||||
columns[1]['content'][1] = {
|
||||
'name' : 'id',
|
||||
'type' : 'hidden'
|
||||
};
|
||||
columns[1]['content'][2] = {
|
||||
'name' : 'link',
|
||||
'type' : 'text',
|
||||
'readonly' : true
|
||||
};
|
||||
columns[1]['content'][3] = {
|
||||
'name' : 'category_id',
|
||||
'type' : 'hidden'
|
||||
};
|
||||
columns[1]['content'][3] = {
|
||||
'name' : 'total',
|
||||
'type' : 'hidden'
|
||||
};
|
||||
// end: code
|
||||
// begin: name
|
||||
columns[2] = {
|
||||
'name' : 'name',
|
||||
'label' : 'Nazwa',
|
||||
'width' : 20,
|
||||
'content' : new Array(),
|
||||
};
|
||||
columns[2]['content'][0] = {
|
||||
'name' : '',
|
||||
'type' : 'text'
|
||||
};
|
||||
// end: name
|
||||
// begin: quantity
|
||||
columns[3] = {
|
||||
'name' : 'quantity',
|
||||
'label' : 'Ilość',
|
||||
'width' : 5,
|
||||
'content' : new Array(),
|
||||
'align' : 'right',
|
||||
};
|
||||
columns[3]['content'][0] = {
|
||||
'name' : '',
|
||||
'type' : 'text',
|
||||
'isNumber' : true,
|
||||
'onChange' : 'calculateRow($(this).parent(\'td\').parent(\'tr\').index());'
|
||||
};
|
||||
columns[3]['content'][1] = {
|
||||
'name' : '_consignment_doc',
|
||||
'type' : 'text',
|
||||
|
||||
};
|
||||
columns[3]['content'][2] = {
|
||||
'name' : '_consignment_id',
|
||||
'type' : 'hidden',
|
||||
};
|
||||
// end: quantity
|
||||
// begin: price
|
||||
columns[4] = {
|
||||
'name' : 'price',
|
||||
'label' : 'Cena',
|
||||
'width' : 5,
|
||||
'content' : new Array(),
|
||||
'align' : 'right',
|
||||
};
|
||||
columns[4]['content'][0] = {
|
||||
'name' : '',
|
||||
'type' : 'text',
|
||||
'isNumber' : true,
|
||||
'onChange' : 'calculateRow($(this).parent(\'td\').parent(\'tr\').index());'
|
||||
};
|
||||
columns[4]['content'][1] = {
|
||||
'name' : '_old',
|
||||
'type' : 'text',
|
||||
'isNumber' : true,
|
||||
'readonly': true,
|
||||
};
|
||||
// end: price
|
||||
// begin: unit
|
||||
columns[5] = {
|
||||
'name' : 'unit_',
|
||||
'label' : 'J.M.',
|
||||
'width' : 5,
|
||||
'content' : new Array(),
|
||||
'align' : 'center',
|
||||
};
|
||||
columns[5]['content'][0] = {
|
||||
'name' : 'name',
|
||||
'type' : 'text',
|
||||
'readonly' : true
|
||||
};
|
||||
columns[5]['content'][1] = {
|
||||
'name' : 'id',
|
||||
'type' : 'hidden'
|
||||
};
|
||||
// end: unit
|
||||
// begin: stock_state
|
||||
columns[6] = {
|
||||
'name' : 'stock_state',
|
||||
'label' : 'Stan',
|
||||
'width' : 5,
|
||||
'content' : new Array(),
|
||||
'align' : 'right',
|
||||
};
|
||||
columns[6]['content'][0] = {
|
||||
'name' : '',
|
||||
'type' : 'text',
|
||||
'isNumber' : true,
|
||||
'readonly' : true
|
||||
};
|
||||
// end: stock_state
|
||||
// begin: options
|
||||
columns[7] = {
|
||||
'name' : 'ecmvat_',
|
||||
'label' : 'VAT (%)',
|
||||
'width' : 0,
|
||||
'style' : 'display:none',
|
||||
'content' : new Array(),
|
||||
'align' : 'right',
|
||||
};
|
||||
columns[7]['content'][0] = {
|
||||
'name' : 'name',
|
||||
'type' : 'hidden'
|
||||
};
|
||||
columns[7]['content'][1] = {
|
||||
'name' : 'value',
|
||||
'type' : 'hidden'
|
||||
};
|
||||
columns[7]['content'][2] = {
|
||||
'name' : 'id',
|
||||
'type' : 'hidden'
|
||||
};
|
||||
columns[8] = {
|
||||
'name' : 'options',
|
||||
'label' : 'Opcje',
|
||||
'width' : 3,
|
||||
'content' : new Array(),
|
||||
};
|
||||
320
modules/EcmStockDocCorrects/javascript/helper.php
Normal file
320
modules/EcmStockDocCorrects/javascript/helper.php
Normal file
@@ -0,0 +1,320 @@
|
||||
<?php
|
||||
if (! defined ( 'sugarEntry' ) || ! sugarEntry)
|
||||
die ( '-1' );
|
||||
if (! $_POST ['job'] || $_POST ['job'] == '')
|
||||
die ( '-1' );
|
||||
switch ($_POST ['job']) {
|
||||
case 'getParentInfo' :
|
||||
getParentInfo ( $_POST ['id'], $_POST ['type'] );
|
||||
break;
|
||||
case 'generateNumber' :
|
||||
generateNumber ();
|
||||
break;
|
||||
case 'searchProducts' :
|
||||
searchProducts ( $_POST ['searchKey'], $_POST ['searchCategory'], $_POST ['searchStock'], $_POST ['searchSort'], $_POST ['searchStockId'] );
|
||||
break;
|
||||
case 'getProduct' :
|
||||
getProduct ( $_POST ['id'], $_POST ['stockId'] );
|
||||
break;
|
||||
case 'getItems' :
|
||||
getItems ( $_POST ['record'] );
|
||||
break;
|
||||
case 'getCategoriesList' :
|
||||
getCategoriesList ();
|
||||
break;
|
||||
case 'getTranslation' :
|
||||
getTranslation ( $_POST ['product_id'], $_POST ['language'], $_REQUEST ['unit_id'] );
|
||||
break;
|
||||
case 'getPricesInfo' :
|
||||
getPricesInfo ( $_POST ['product_id'], $_POST ['pricebook_id'], $_POST ['account_id'] );
|
||||
break;
|
||||
case 'getStockArray' :
|
||||
getStockArray ( $_POST ['product_id'] );
|
||||
break;
|
||||
case 'getPurchaseArray' :
|
||||
getPurchaseArray ( $_POST ['product_id'] );
|
||||
break;
|
||||
case 'getStockState' :
|
||||
getStockState ( $_POST ['id'], $_POST ['stockId'] );
|
||||
break;
|
||||
case 'getComponents' :
|
||||
getComponents ( $_POST ['product_id'] );
|
||||
break;
|
||||
case 'getConsignments' :
|
||||
getConsignments ( $_POST ['prod_id'], $_REQUEST ['stock_id'] );
|
||||
break;
|
||||
case 'getConsignmentsDocs' :
|
||||
getConsignmentsDocs ( $_POST ['prod_id'], $_REQUEST ['stock_id'] );
|
||||
break;
|
||||
}
|
||||
function generateNumber() {
|
||||
$data = array ();
|
||||
$data ['number'] = EcmStockDocCorrect::generateNumber ();
|
||||
$data ['document_no'] = EcmStockDocCorrect::formatNumber ( $data ['number'] );
|
||||
echo json_encode ( $data );
|
||||
unset ( $data );
|
||||
return;
|
||||
}
|
||||
function searchProducts($searchKey, $searchCategory, $searchStock, $searchSort, $searchStockId) {
|
||||
$db = $GLOBALS ['db'];
|
||||
$q = "SELECT id, code, name FROM ecmproducts WHERE
|
||||
(UPPER(code) LIKE '%$searchKey%' OR
|
||||
UPPER(name) LIKE '%$searchKey%')
|
||||
AND deleted='0' ";
|
||||
if ($searchCategory && $searchCategory != "")
|
||||
$q .= "AND product_category_id='$searchCategory' ";
|
||||
|
||||
if ($searchSort == '1')
|
||||
$q .= "ORDER BY code";
|
||||
else if ($searchSort == '2')
|
||||
$q .= "ORDER BY code DESC";
|
||||
else if ($searchSort == '3')
|
||||
$q .= "ORDER BY name";
|
||||
else if ($searchSort == '4')
|
||||
$q .= "ORDER BY name DESC";
|
||||
|
||||
// $q .= " LIMIT 0,50";
|
||||
|
||||
$res = $db->query ( $q );
|
||||
$result = array ();
|
||||
|
||||
$stock_id = $searchStockId;
|
||||
|
||||
while ( $row = $db->fetchByAssoc ( $res ) ) {
|
||||
$tmp = array ();
|
||||
$tmp ['id'] = $row ['id'];
|
||||
$tmp ['name'] = $row ['name'];
|
||||
$tmp ['code'] = $row ['code'];
|
||||
|
||||
// get stock if necessary
|
||||
if ($searchStock != '1') {
|
||||
$tmp ['stock_state'] = EcmStockOperation::getStock ( $row ['id'], $stock_id );
|
||||
}
|
||||
|
||||
if ($searchStock == '3' && $tmp ['stock_state'] == 0)
|
||||
continue; // don't show null stock
|
||||
|
||||
$result [] = $tmp;
|
||||
}
|
||||
echo json_encode ( $result );
|
||||
return;
|
||||
}
|
||||
function getProduct($id, $stockId) {
|
||||
$db = $GLOBALS ['db'];
|
||||
$p = $db->fetchByAssoc ( $db->query ( "SELECT p.id, p.code, p.name, p.unit_id, p.product_category_id,v.id as ecmvat_id, v.name as ecmvat_name, v.value as ecmvat_value FROM ecmproducts as p INNER JOIN ecmvats as v ON v.id=p.vat_id WHERE p.id='$id'" ) );
|
||||
global $app_list_strings;
|
||||
$p ['unit_name'] = $app_list_strings ['ecmproducts_unit_dom'] [$p ['unit_id']];
|
||||
$p ['stock_state'] = $tmp ['stock_state'] = EcmStockOperation::getStock ( $id, $stockId );
|
||||
|
||||
echo json_encode ( $p );
|
||||
return;
|
||||
}
|
||||
function getItems($record) {
|
||||
$mm = new EcmStockDocCorrect ();
|
||||
$mm->retrieve ( $record );
|
||||
$pl = $mm->getPositionList ( true );
|
||||
unset ( $mm );
|
||||
echo json_encode ( $pl );
|
||||
return;
|
||||
}
|
||||
function getCategoriesList() {
|
||||
$db = $GLOBALS ['db'];
|
||||
$res = $db->query ( "SELECT id, name FROM ecmproductcategories WHERE deleted='0'" );
|
||||
$result = array ();
|
||||
while ( $row = $db->fetchByAssoc ( $res ) ) {
|
||||
$tmp = array ();
|
||||
$tmp ['id'] = $row ['id'];
|
||||
$tmp ['name'] = $row ['name'];
|
||||
$result [] = $tmp;
|
||||
}
|
||||
echo json_encode ( $result );
|
||||
return;
|
||||
}
|
||||
function getTranslation($product_id, $language, $unit_id) {
|
||||
$db = $GLOBALS ['db'];
|
||||
$result = array ();
|
||||
if ($language == 'en_us') {
|
||||
$r = $db->fetchByAssoc ( $db->query ( "SELECT short_description FROM ecmproduct_language WHERE ecmproduct_id='$product_id' AND language='en'" ) );
|
||||
$result ['name'] = htmlspecialchars_decode ( $r ['short_description'] );
|
||||
} else if ($language == 'pl_pl') {
|
||||
$p = new EcmProduct ();
|
||||
$p->retrieve ( $product_id );
|
||||
$result ['name'] = htmlspecialchars_decode ( $p->name );
|
||||
unset ( $p );
|
||||
}
|
||||
$lists = return_app_list_strings_language ( $language );
|
||||
$result ['unit_name'] = $lists ['ecmproducts_unit_dom'] [$unit_id];
|
||||
unset ( $lists );
|
||||
|
||||
echo json_encode ( $result );
|
||||
return;
|
||||
}
|
||||
function getPricesInfo($product_id, $pricebook_id, $account_id) {
|
||||
$db = $GLOBALS ['db'];
|
||||
|
||||
$result = array ();
|
||||
if ($pricebook_id && $pricebook_id != '') {
|
||||
// try get price from pricebook
|
||||
$res = $db->fetchByAssoc ( $db->query ( "SELECT price FROM ecmpricebooks_ecmproducts WHERE ecmpricebook_id='$pricebook_id' AND ecmproduct_id='$product_id' AND deleted='0'" ) );
|
||||
if ($res ['price'] && $res ['price'] != '' && $res ['price'] != 0) {
|
||||
$tmp = array ();
|
||||
$tmp ['name'] = 'pricebook';
|
||||
$tmp ['price'] = $res ['price'];
|
||||
$result [] = $tmp;
|
||||
}
|
||||
}
|
||||
|
||||
// get from ecmprices
|
||||
$res = $db->query ( "SELECT p.name, pp.price FROM ecmprices_ecmproducts AS pp
|
||||
INNER JOIN ecmprices AS p
|
||||
ON p.id=pp.ecmprice_id
|
||||
WHERE
|
||||
pp.ecmproduct_id='$product_id'
|
||||
AND pp.price!=0" );
|
||||
while ( $row = $db->fetchByAssoc ( $res ) ) {
|
||||
$tmp = array ();
|
||||
$tmp ['name'] = $row ['name'];
|
||||
$tmp ['price'] = $row ['price'];
|
||||
$result [] = $tmp;
|
||||
}
|
||||
|
||||
// get last invoice price
|
||||
if ($account_id && $account_id != '') {
|
||||
$res = $db->fetchByAssoc ( $db->query ( "SELECT ii.subprice, i.id, i.document_no FROM ecminvoiceoutitems AS ii
|
||||
INNER JOIN ecminvoiceouts AS i
|
||||
ON ii.ecminvoiceout_id=i.id
|
||||
WHERE ii.ecmproduct_id='$product_id'
|
||||
AND i.parent_id='$account_id'
|
||||
AND ii.deleted='0'
|
||||
AND i.deleted='0'
|
||||
AND i.canceled='0'
|
||||
ORDER BY i.register_date DESC
|
||||
LIMIT 0,1" ) );
|
||||
if ($res && $res ['subprice'] != '') {
|
||||
$tmp = array ();
|
||||
$tmp ['name'] = $res ['document_no'];
|
||||
$tmp ['price'] = $res ['subprice'];
|
||||
$result [] = $tmp;
|
||||
}
|
||||
}
|
||||
|
||||
echo json_encode ( $result );
|
||||
return;
|
||||
}
|
||||
function getStockArray($product_id) {
|
||||
$o = new EcmStockOperation ();
|
||||
echo json_encode ( $o->getStockArray ( $product_id ) );
|
||||
unset ( $o );
|
||||
return;
|
||||
}
|
||||
function getPurchaseArray($product_id) {
|
||||
$o = new EcmStockOperation ();
|
||||
echo json_encode ( $o->getPurchaseArray ( $product_id ) );
|
||||
unset ( $o );
|
||||
return;
|
||||
}
|
||||
function getStockState($id, $stock_id) {
|
||||
echo EcmStockOperation::getStock ( $id, $stock_id );
|
||||
return;
|
||||
}
|
||||
function getComponents($product_id) {
|
||||
$p = new EcmProduct ();
|
||||
$p->retrieve ( $product_id );
|
||||
echo json_encode ( $p->getPositionList ( true ) );
|
||||
return;
|
||||
}
|
||||
function getConsignments($prod_id, $stock_id) {
|
||||
$documents_map = array (
|
||||
'EcmStockDocIns' => 'PZ',
|
||||
'EcmStockDocCorrects' => 'KS',
|
||||
'EcmStockDocMoves' => 'MM',
|
||||
'EcmStockDocInsideIns' => 'PW'
|
||||
);
|
||||
|
||||
$db = $GLOBALS ['db'];
|
||||
$query = "
|
||||
select i.id, i.parent_id, i.parent_type, i.parent_name, i.price, i.quantity as in_qty, ifnull(sum(o.quantity),0) as out_qty, p.unit_id
|
||||
from ecmstockoperations as i
|
||||
left join ecmstockoperations as o
|
||||
on i.id = o.in_id
|
||||
inner join ecmproducts as p
|
||||
on i.product_id = p.id
|
||||
where
|
||||
i.product_id='$prod_id' and
|
||||
i.stock_id='$stock_id' and
|
||||
i.used = '0' and
|
||||
i.type='0'
|
||||
group by i.id
|
||||
order by i.date_entered;
|
||||
";
|
||||
$res = $db->query ( $query );
|
||||
$result = array ();
|
||||
global $app_list_strings, $sugar_config;
|
||||
while ( $row = $db->fetchByAssoc ( $res ) ) {
|
||||
$availability = (floatval ( $row ['in_qty'] ) - floatval ( $row ['out_qty'] ));
|
||||
if ($availability <= 0)
|
||||
continue;
|
||||
|
||||
$tmp = array ();
|
||||
$tmp ['operation_id'] = $row ['id'];
|
||||
$tmp ['document_no'] = $documents_map [$row ['parent_type']] . ' ' . $row ['parent_name'];
|
||||
$tmp ['availability'] = $availability;
|
||||
$tmp ['parent_id'] = $row ['parent_id'];
|
||||
$tmp ['parent_type'] = $row ['parent_type'];
|
||||
$tmp ['price'] = $row ['price'];
|
||||
$tmp ['unit'] = $app_list_strings ['ecmproducts_unit_dom'] [$row ['unit_id']];
|
||||
$tmp ['currency'] = $sugar_config ['default_currency_iso4217'];
|
||||
|
||||
$result [] = $tmp;
|
||||
}
|
||||
echo json_encode ( $result );
|
||||
return;
|
||||
}
|
||||
function getConsignmentsDocs($prod_id, $stock_id) {
|
||||
$documents_map = array (
|
||||
'EcmStockDocIns' => 'PZ',
|
||||
'EcmStockDocCorrects' => 'KS',
|
||||
'EcmStockDocMoves' => 'MM',
|
||||
'EcmStockDocInsideIns' => 'PW'
|
||||
);
|
||||
|
||||
$db = $GLOBALS ['db'];
|
||||
$query = "
|
||||
select i.id, i.parent_id, i.parent_type, i.parent_name, i.price, i.quantity as in_qty, ifnull(sum(o.quantity),0) as out_qty, p.unit_id
|
||||
from ecmstockoperations as i
|
||||
left join ecmstockoperations as o
|
||||
on i.id = o.in_id
|
||||
inner join ecmproducts as p
|
||||
on i.product_id = p.id
|
||||
where
|
||||
i.product_id='$prod_id' and
|
||||
i.stock_id='$stock_id' and
|
||||
i.used = '0' and
|
||||
i.type='0'
|
||||
group by i.id
|
||||
order by i.date_entered;
|
||||
";
|
||||
$res = $db->query ( $query );
|
||||
$result = array ();
|
||||
global $app_list_strings, $sugar_config;
|
||||
while ( $row = $db->fetchByAssoc ( $res ) ) {
|
||||
$availability = (floatval ( $row ['in_qty'] ) - floatval ( $row ['out_qty'] ));
|
||||
if ($availability <= 0)
|
||||
continue;
|
||||
|
||||
$tmp = array ();
|
||||
$tmp ['operation_id'] = $row ['id'];
|
||||
$tmp ['part_no'] = $documents_map [$row ['parent_type']] . ' ' . $row ['parent_name'];
|
||||
$tmp ['availability'] = round($availability,4);
|
||||
$tmp ['parent_id'] = $row ['parent_id'];
|
||||
$tmp ['parent_type'] = $row ['parent_type'];
|
||||
$tmp ['price'] = $row ['price'];
|
||||
$tmp ['unit'] = $app_list_strings ['ecmproducts_unit_dom'] [$row ['unit_id']];
|
||||
$tmp ['precision'] = 4;
|
||||
$tmp ['currency'] = $sugar_config ['default_currency_iso4217'];
|
||||
|
||||
$result [] = $tmp;
|
||||
}
|
||||
echo json_encode ( $result );
|
||||
return;
|
||||
}
|
||||
445
modules/EcmStockDocCorrects/language/en_us.lang.php
Normal file
445
modules/EcmStockDocCorrects/language/en_us.lang.php
Normal file
@@ -0,0 +1,445 @@
|
||||
<?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.
|
||||
*
|
||||
* ******************************************************************************
|
||||
*/
|
||||
|
||||
$mod_strings = array (
|
||||
'LBL_STOCK_OUT' => 'From stock',
|
||||
'LBL_STOCK_IN' => 'To stock',
|
||||
'LBL_STOCK_OUT_NAME' => 'From stock',
|
||||
'LBL_STOCK_IN_NAME' => 'To stock',
|
||||
'LBL_ECMPRICE' => 'B2B Prices',
|
||||
'LBL_SEARCH' => 'Search',
|
||||
'LBL_CATEGORY' => 'Category',
|
||||
'LBL_PDF_TEXT' => 'PDF Text',
|
||||
'LBL_PARENT_NIP' => 'VAT ID',
|
||||
'LBL_NO_TAX' => 'No tax',
|
||||
'LBL_PDF_DOCUMENT_NAME' => 'Quote',
|
||||
'LBL_SITE' => 'Site',
|
||||
'LBL_SHOW_EAN' => 'Show EAN',
|
||||
'LBL_SHOW_EAN2' => 'Show EAN2',
|
||||
// added 05.02.2009
|
||||
'LBL_QUOTE_XLS' => 'Create XLS',
|
||||
'LBL_QUOTE_XLS_BUTTON_KEY' => 'Show XLS [Alt+X]',
|
||||
'LBL_QUOTE_XLS_BUTTON_TITLE' => 'Show Quote in XLS file.',
|
||||
// added 01.09.2009
|
||||
'LBL_PRICEBOOK' => 'Price Book',
|
||||
// added 05.08.2009
|
||||
'LBL_CURRENCY' => 'Currency',
|
||||
'LBL_DETAIL_BUTTON' => 'Details',
|
||||
// added 15.07.2009
|
||||
'LBL_EDITTABLE_UNIT' => 'Unit',
|
||||
// added 09.02.2009
|
||||
'LBL_SHOW_IMAGES_ON_OFFERS' => 'Show images on offers',
|
||||
'LBL_SHOW_RECIPIENT_CODE' => 'Show recipient code',
|
||||
|
||||
// FOR SYSTEM USE
|
||||
|
||||
'LBL_MODULE_NAME' => 'Quotes',
|
||||
|
||||
'LBL_MODULE_TITLE' => 'Quotes: Home',
|
||||
|
||||
'LBL_MODULE_ID' => 'EcmQuotes',
|
||||
|
||||
'LBL_SEARCH_FORM_TITLE' => 'Quotes Search',
|
||||
|
||||
'LBL_LIST_FORM_TITLE' => 'Quotes List',
|
||||
|
||||
'LBL_NEW_FORM_TITLE' => 'New Quote',
|
||||
|
||||
'LBL_DETAILS' => 'Quote details:',
|
||||
|
||||
'LBL_ITEMS' => 'Items included:',
|
||||
|
||||
'LBL_TEXTS' => 'Texts to PDF:',
|
||||
|
||||
'LBL_PREVIEW' => 'Preview PDF:',
|
||||
|
||||
'LBL_EMAIL' => 'Create Email:',
|
||||
|
||||
'LBL_TO_INFORMATIONS' => 'To Informations:',
|
||||
|
||||
'LBL_DETAILS_TAB' => 'Details',
|
||||
|
||||
'LBL_ITEMS_TAB' => 'Items',
|
||||
|
||||
'LBL_TEXTS_TAB' => 'Texts',
|
||||
|
||||
'LBL_PREVIEW_TAB' => 'Preview',
|
||||
|
||||
'LBL_EMAIL_TAB' => 'Email',
|
||||
|
||||
'LBL_ID' => 'Id',
|
||||
|
||||
'LBL_NAME' => 'Name',
|
||||
|
||||
'LBL_DESCRIPTION' => 'Description',
|
||||
|
||||
'LBL_DATE_ENTERED' => 'Date Entered',
|
||||
|
||||
'LBL_DATE_MODIFIED' => 'Date Modified',
|
||||
|
||||
'LBL_MODIFIED' => 'Last Modified',
|
||||
|
||||
'LBL_ASSIGNED_TO_ID' => 'Assigned To',
|
||||
|
||||
'LBL_ASSIGNED_TO' => 'Assigned To',
|
||||
|
||||
'LBL_CREATED' => 'Created by',
|
||||
|
||||
'LBL_CREATED_BY_USER' => 'Created by',
|
||||
|
||||
'LBL_MODIFIED_BY_USER' => 'Modified by',
|
||||
|
||||
'LBL_ASSIGNED_TO_USER' => 'Assigned To',
|
||||
|
||||
'LBL_DELETED_BY' => 'Deleted by',
|
||||
|
||||
'LBL_NUMBER' => 'Number',
|
||||
|
||||
'LBL_DOCUMENT_NO' => 'Number',
|
||||
|
||||
'LBL_PARENT' => 'To',
|
||||
|
||||
'LBL_PARENT_NAME' => 'Account',
|
||||
|
||||
'LBL_PARENT_ID' => 'Account Id',
|
||||
|
||||
'LBL_TYPE' => 'Type',
|
||||
|
||||
'LBL_ECMQUOTE_ID' => 'Quote Id',
|
||||
|
||||
'LBL_ECMQUOTE_NAME' => 'Quote Name',
|
||||
|
||||
'LBL_STATUS' => 'Status',
|
||||
|
||||
'LBL_REGISTER_DATE' => 'Document Date',
|
||||
|
||||
'LBL_SELL_DATE' => 'Sell Date',
|
||||
|
||||
'LBL_PAYMENT_DATE' => 'Payment Date',
|
||||
|
||||
'LBL_PARENT_ADDRESS_STREET' => 'Street',
|
||||
|
||||
'LBL_PARENT_ADDRESS_CITY' => 'Postalcode / City',
|
||||
|
||||
'LBL_PARENT_ADDRESS_POSTALCODE' => 'Postalcode',
|
||||
|
||||
'LBL_PARENT_ADDRESS_COUNTRY' => 'Country',
|
||||
|
||||
'LBL_TO_VATID' => 'VAT-ID',
|
||||
|
||||
'LBL_TO_IS_VAT_FREE' => 'Is VAT Free?',
|
||||
|
||||
'LBL_HEADER_TEXT' => 'Header Text',
|
||||
|
||||
'LBL_FOOTER_TEXT' => 'Footer Text',
|
||||
|
||||
'LBL_ADS_TEXT' => 'Ads Text',
|
||||
|
||||
'LBL_SUBTOTAL' => 'Subtotal',
|
||||
|
||||
'LBL_TOTAL' => 'Total',
|
||||
|
||||
'LBL_DISCOUNT' => 'Discount',
|
||||
|
||||
'LBL_VAT' => 'VAT',
|
||||
|
||||
'LBL_ACCEPTED' => 'Accepted',
|
||||
|
||||
'LBL_TEMPLATE_ID' => 'Template Id',
|
||||
|
||||
'LBL_TEMPLATE_NAME' => 'Template',
|
||||
|
||||
'LBL_PAYMENTCONDITION_NAME' => 'Payment Condition',
|
||||
'LBL_PAYMENTCONDITION_ID' => 'Payment Condition ID',
|
||||
|
||||
'LBL_DELIVERYCONDITION_NAME' => 'Delivery Condition',
|
||||
'LBL_DELIVERYCONDITION_ID' => 'Delivery Condition ID',
|
||||
|
||||
'LBL_FORMAT_NUMBER_ERROR' => 'Format Number Error!',
|
||||
|
||||
'LBL_SAVE_FORM_ERROR' => 'There are some errors on items list or in form!',
|
||||
|
||||
'LBL_DISCOUNT_ERROR' => 'Discount Format Number Error',
|
||||
|
||||
'LBL_EDITTABLE_NO' => 'Lp.',
|
||||
'LBL_EDITTABLE_CODE' => 'Code',
|
||||
'LBL_EDITTABLE_NAME' => 'Name',
|
||||
'LBL_EDITTABLE_QUANTITY' => 'Quant',
|
||||
'LBL_EDITTABLE_PRICE' => 'Price',
|
||||
'LBL_EDITTABLE_VAT' => 'VAT',
|
||||
'LBL_EDITTABLE_RECIPIENT_CODE' => 'Recipient Code',
|
||||
'LBL_EDITTABLE_DISCOUNT' => 'Discount',
|
||||
'LBL_EDITTABLE_TOTAL' => 'Total',
|
||||
'LBL_EDITTABLE_OPTIONS' => 'Opt',
|
||||
|
||||
'LBL_MOVE_ROW_UP' => 'Move Up',
|
||||
'LBL_MOVE_ROW_DOWN' => 'Move Down',
|
||||
'LBL_INSERT_NEW_ROW' => 'Insert new row',
|
||||
'LBL_DELETE_ROW' => 'Delete row',
|
||||
|
||||
'LBL_VALIDTILL_DATE' => 'Valid Till',
|
||||
|
||||
// FOR MENU LINKS
|
||||
|
||||
'LNK_NEW_ECMQUOTE' => 'Create Quote',
|
||||
|
||||
'LNK_ECMQUOTES_LIST' => 'Quotes List',
|
||||
|
||||
'LBL_IMG_SEARCH' => 'Search',
|
||||
|
||||
'LBL_IMG_NEW' => 'New, add to base',
|
||||
|
||||
'LBL_IMG_EDIT' => 'Edit',
|
||||
|
||||
'LBL_CONFIRM_QUESTION' => 'Would you like to confirm this Quote?',
|
||||
|
||||
'LBL_QUOTE_PDF' => 'Show PDF',
|
||||
'LBL_QUOTE_PDF_BUTTON_KEY' => 'Show PDF [Alt+P]',
|
||||
'LBL_QUOTE_PDF_BUTTON_TITLE' => 'Show Quote in PDF file.',
|
||||
|
||||
'LBL_QUOTE_TO_INVOICE' => 'Create Invoice',
|
||||
'LBL_QUOTE_TO_INVOICE_BUTTON_KEY' => 'Create Invoice [Alt+I]',
|
||||
'LBL_QUOTE_TO_INVOICE_BUTTON_TITLE' => 'Create Invoice.',
|
||||
|
||||
'LBL_QUOTE_TO_SALE' => 'Create Sales Order',
|
||||
'LBL_QUOTE_TO_SALE_BUTTON_KEY' => 'Create Sales Order [Alt+O]',
|
||||
'LBL_QUOTE_TO_SALE_BUTTON_TITLE' => 'Create Sales Order.',
|
||||
|
||||
'LBL_SEND_TO_CONFIRM' => 'Send To Confirm',
|
||||
'LBL_SEND_TO_CONFIRM_BUTTON_KEY' => 'Send To Confirm [Alt+C]',
|
||||
'LBL_SEND_TO_CONFIRM_BUTTON_TITLE' => 'Send This Quote To Confirm.',
|
||||
|
||||
'LBL_LIST_TO_INVOICE' => 'Create Invoice.',
|
||||
'LBL_LIST_TO_SALE' => 'Create Sales Order.',
|
||||
|
||||
// buttons
|
||||
|
||||
'LBL_SEND_BUTTON_TITLE' => 'Save & Send [Alt+D]',
|
||||
'LBL_SEND_BUTTON_KEY' => 'D',
|
||||
'LBL_SEND_BUTTON_LABEL' => 'Save & Send',
|
||||
|
||||
'LBL_REPAIR_BUTTON_TITLE' => 'Repair [Alt+R]',
|
||||
'LBL_REPAIR_BUTTON_KEY' => 'R',
|
||||
'LBL_REPAIR_BUTTON_LABEL' => 'Repair',
|
||||
|
||||
'LBL_ACCEPT_BUTTON_TITLE' => 'Accept [Alt+Z]',
|
||||
'LBL_ACCEPT_BUTTON_KEY' => 'Z',
|
||||
'LBL_ACCEPT_BUTTON_LABEL' => 'Accept',
|
||||
|
||||
'LBL_REJECT_BUTTON_TITLE' => 'Reject [Alt+R]',
|
||||
'LBL_REJECT_BUTTON_KEY' => 'R',
|
||||
'LBL_REJECT_BUTTON_LABEL' => 'Reject',
|
||||
|
||||
'LBL_GO_TO_LIST_BUTTON_TITLE' => 'Go to quotes list [Alt+G]',
|
||||
'LBL_GO_TO_LIST_BUTTON_KEY' => 'G',
|
||||
'LBL_GO_TO_LIST_BUTTON_LABEL' => 'Go to list',
|
||||
|
||||
'LBL_SENDEMAIL_BUTTON' => 'Send Email',
|
||||
|
||||
'LBL_NOT_SAVED' => 'Quote not saved. Please check all fields are correct!',
|
||||
|
||||
'LBL_SAVED' => 'Quote saved successfully.',
|
||||
|
||||
'LBL_DEFAULT_CONTACT_HEADER_TEXT' => 'Witaj $contact_full_name!',
|
||||
|
||||
'LBL_DEFAULT_CONTACT_FOOTER_TEXT' => 'Tekst pod tabelka dla Contact',
|
||||
|
||||
'LBL_DEFAULT_CONTACT_ADS_TEXT' => 'Tekst pogrubiony pod tabelka dla Contact',
|
||||
|
||||
'LBL_DEFAULT_ACCOUNT_HEADER_TEXT' => 'Oferta dla:',
|
||||
|
||||
'LBL_DEFAULT_ACCOUNT_FOOTER_TEXT' => 'Tekst pod tabelka dla Account',
|
||||
|
||||
'LBL_DEFAULT_ACCOUNT_ADS_TEXT' => 'Tekst pogrubiony pod tabelka dla Account',
|
||||
|
||||
'LBL_NOTES_SUBPANEL_TITLE' => 'Notes',
|
||||
|
||||
'LBL_EMAILS_SUBPANEL_TITLE' => 'Emails',
|
||||
|
||||
'LBL_DASHLET_MY_ECMQUOTES' => 'Quotes',
|
||||
|
||||
'LNK_ECMQUOTES_PDFLANGUAGES' => 'PDF Settings',
|
||||
'LBL_ECMLANGUAGE' => 'Language',
|
||||
'LBL_ECMQUOTES_PDFLANGUAGES_TITLE' => 'PDF Languages Settings',
|
||||
|
||||
'LBL_ACCESS_UNAVAIBLE_DELETE_EMAIL' => "You don't have a permission to send Email, because this Quote is not accepted by Manager!",
|
||||
'LBL_SEND_TO_CONFIRM_ERROR' => "Sending Quote to confirm error! Refresh site and try again.",
|
||||
|
||||
'LBL_STATUS_s10_SET_MESSAGE' => "Quote status is set.",
|
||||
'LBL_STATUS_s20_SET_MESSAGE' => "Now Quote is waiting for confimations.",
|
||||
'LBL_STATUS_s30_SET_MESSAGE' => "Quote is confirmed.",
|
||||
'LBL_STATUS_s40_SET_MESSAGE' => "Quote status is set.",
|
||||
'LBL_STATUS_s70_SET_MESSAGE' => "Quote status is set to Lost :(",
|
||||
|
||||
'LBL_STATUS_s20_FAIL_MESSAGE' => "Sending Quote to confirm error! Refresh site and try again.",
|
||||
|
||||
'LBL_LIST_SEND_TO_CONFIRM' => 'Send To Confirm',
|
||||
'LBL_LIST_DUPLICATE' => 'Duplicate',
|
||||
'LBL_LIST_PREVIEW_PDF' => 'Preview Quote',
|
||||
'LBL_LIST_REJECT' => 'Reject',
|
||||
'LBL_LIST_ACCEPT' => 'Accept',
|
||||
|
||||
'LBL_MODIFIED_USER' => 'Modified By',
|
||||
|
||||
'LBL_DEMO_VERSION_INFORMATION' => "This is only demo version.\nPlease contact us at ca@more7.com.",
|
||||
|
||||
'LBL_ORDER_ORIGIN' => 'Order Origin',
|
||||
|
||||
'LBL_PREVIEW_HEADER_NAME' => 'Preview',
|
||||
'LBL_PREVIEW_HEADER_CLOSE' => 'Close',
|
||||
|
||||
'LBL_CONTACT_NAME' => 'Contact',
|
||||
'LBL_CONTACT_ID' => 'Contact Id',
|
||||
'LBL_PARENT_NAME_COPY' => 'Company Name',
|
||||
'LBL_PARENT_CONTACT_NAME' => 'Contact Person',
|
||||
'LBL_PARENT_CONTACT_TITLE' => 'Contact Title',
|
||||
|
||||
'LBL_ALERT_ECMLANGUAGE_CHANGE' => 'Would you like to load default texts correspondencing to this language?',
|
||||
'LBL_LIST_DOWNLOAD_PDF' => 'Download PDF',
|
||||
'LBL_CREATE_ECMINVOICEOUT_BUTTON_LABEL' => 'Create Invoice',
|
||||
|
||||
'LBL_ECMTEAM_NAME' => 'Team',
|
||||
'LBL_ECMTEAM_ID' => 'Team ID',
|
||||
|
||||
'LBL_IMAGE_SIZE' => 'Images size (%)',
|
||||
|
||||
// mz new labels
|
||||
'LBL_SEARCH' => 'Search',
|
||||
'LBL_CATEGORY' => 'Category',
|
||||
'LBL_SEARCH_STOCK' => 'Show stock states',
|
||||
'LBL_SEARCH_STOCK_OPT_NO' => 'Don\'t show stock states',
|
||||
'LBL_SEARCH_STOCK_OPT_YES' => 'Show stock states',
|
||||
'LBL_SEARCH_STOCK_OPT_NOT_NULL' => 'Only products on stock',
|
||||
'LBL_SEARCH_SORT' => 'Sort results by',
|
||||
'LBL_SEARCH_SORT_CODE' => 'Code ASC',
|
||||
'LBL_SEARCH_SORT_CODE_DESC' => 'Code DESC',
|
||||
'LBL_SEARCH_SORT_NAME' => 'Name ASC',
|
||||
'LBL_SEARCH_SORT_NAME_DESC' => 'Name DESC',
|
||||
// PDF labels
|
||||
'LBL_PDF_FOOTER_KRS' => 'KRS:',
|
||||
'LBL_PDF_FOOTER_NIP' => 'VATID:',
|
||||
'LBL_PDF_FOOTER_REGON' => 'REGON:',
|
||||
'LBL_PDF_FOOTER_BANK' => 'Bank name:',
|
||||
'LBL_PDF_FOOTER_BANK_ACCOUNT' => 'Bank account:',
|
||||
'LBL_PDF_FOOTER_GIOS' => 'GIOS number:',
|
||||
'LBL_PDF_FOOTER_SWIFT' => 'Bank SWIFT:',
|
||||
'LBL_PDF_CONTENT_QUOTE_FOR' => 'Offer for:',
|
||||
'LBL_PDF_CONTENT_REGISTER_DATE' => 'Register date:',
|
||||
'LBL_PDF_CONTENT_ISSUED_BY' => 'Issued by:',
|
||||
'LBL_PDF_CONTENT_NUMBER' => 'Number:',
|
||||
'LBL_PDF_CONTENT_LIST_POSITION' => 'No.',
|
||||
'LBL_PDF_CONTENT_LIST_IMAGE' => 'Picture',
|
||||
'LBL_PDF_CONTENT_LIST_NAME' => 'Name',
|
||||
'LBL_PDF_CONTENT_LIST_CODE' => 'Index',
|
||||
'LBL_PDF_CONTENT_LIST_QTY' => 'Quantity',
|
||||
'LBL_PDF_CONTENT_LIST_UNIT' => 'Unit',
|
||||
'LBL_PDF_CONTENT_LIST_EAN' => 'Ean',
|
||||
'LBL_PDF_CONTENT_LIST_EAN2' => 'Ean 2',
|
||||
'LBL_PDF_CONTENT_LIST_RECIPIENT_CODE' => 'Recipient Code',
|
||||
'LBL_PDF_CONTENT_LIST_PRICE_START' => 'Start price',
|
||||
'LBL_PDF_CONTENT_LIST_PRICE_NETTO' => 'Price netto',
|
||||
'LBL_PDF_CONTENT_LIST_DISCOUNT' => 'Discount',
|
||||
'LBL_PDF_CONTENT_LIST_TOTAL_NETTO' => 'Total netto',
|
||||
'LBL_PDF_CONTENT_TOTAL_NETTO' => 'Total netto',
|
||||
'LBL_PDF_CONTENT_TOTAL_BRUTTO' => 'Total brutto'
|
||||
)
|
||||
;
|
||||
|
||||
?>
|
||||
424
modules/EcmStockDocCorrects/language/ge_ge.lang.php
Normal file
424
modules/EcmStockDocCorrects/language/ge_ge.lang.php
Normal file
@@ -0,0 +1,424 @@
|
||||
<?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.
|
||||
|
||||
********************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$mod_strings = array (
|
||||
|
||||
|
||||
|
||||
// FOR SYSTEM USE
|
||||
|
||||
'LBL_MODULE_NAME' => 'Quotes',
|
||||
|
||||
'LBL_MODULE_TITLE' => 'Quotes: Home',
|
||||
|
||||
'LBL_MODULE_ID' => 'EcmQuotes',
|
||||
|
||||
'LBL_SEARCH_FORM_TITLE' => 'Quotes Search',
|
||||
|
||||
'LBL_LIST_FORM_TITLE' => 'Quotes List',
|
||||
|
||||
'LBL_NEW_FORM_TITLE' => 'New Quote',
|
||||
|
||||
|
||||
|
||||
'LBL_DETAILS' => 'Quote details:',
|
||||
|
||||
'LBL_ITEMS' => 'Items included:',
|
||||
|
||||
'LBL_TEXTS' => 'Texts to PDF:',
|
||||
|
||||
'LBL_PREVIEW' => 'Preview PDF:',
|
||||
|
||||
'LBL_EMAIL' => 'Create Email:',
|
||||
|
||||
'LBL_TO_INFORMATIONS' => 'To Informations:',
|
||||
|
||||
|
||||
|
||||
'LBL_DETAILS_TAB' => 'Details',
|
||||
|
||||
'LBL_ITEMS_TAB' => 'Items',
|
||||
|
||||
'LBL_TEXTS_TAB' => 'Texts',
|
||||
|
||||
'LBL_PREVIEW_TAB' => 'Preview',
|
||||
|
||||
'LBL_EMAIL_TAB' => 'Email',
|
||||
|
||||
|
||||
|
||||
'LBL_ID' => 'Id',
|
||||
|
||||
'LBL_NAME' => 'Name',
|
||||
|
||||
'LBL_DESCRIPTION' => 'Description',
|
||||
|
||||
'LBL_DATE_ENTERED' => 'Date Entered',
|
||||
|
||||
'LBL_DATE_MODIFIED' => 'Date Modified',
|
||||
|
||||
'LBL_MODIFIED' => 'Last Modified',
|
||||
|
||||
'LBL_ASSIGNED_TO_ID' => 'Assigned To',
|
||||
|
||||
'LBL_ASSIGNED_TO' => 'Assigned To',
|
||||
|
||||
'LBL_CREATED' => 'Created by',
|
||||
|
||||
'LBL_CREATED_BY_USER' => 'Created by',
|
||||
|
||||
'LBL_MODIFIED_BY_USER' => 'Modified by',
|
||||
|
||||
'LBL_ASSIGNED_TO_USER' => 'Assigned To',
|
||||
|
||||
'LBL_DELETED_BY' => 'Deleted by',
|
||||
|
||||
'LBL_NUMBER' => 'Number',
|
||||
|
||||
'LBL_DOCUMENT_NO' => 'Number',
|
||||
|
||||
'LBL_PARENT' => 'To',
|
||||
|
||||
'LBL_PARENT_NAME' => 'Account',
|
||||
|
||||
'LBL_PARENT_ID' => 'Account Id',
|
||||
|
||||
'LBL_TYPE' => 'Type',
|
||||
|
||||
'LBL_ECMQUOTE_ID' => 'Quote Id',
|
||||
|
||||
'LBL_ECMQUOTE_NAME' => 'Quote Name',
|
||||
|
||||
'LBL_STATUS' => 'Status',
|
||||
|
||||
'LBL_REGISTER_DATE' => 'Document Date',
|
||||
|
||||
'LBL_SELL_DATE' => 'Sell Date',
|
||||
|
||||
'LBL_PAYMENT_DATE' => 'Payment Date',
|
||||
|
||||
'LBL_PARENT_ADDRESS_STREET' => 'Street',
|
||||
|
||||
'LBL_PARENT_ADDRESS_CITY' => 'Postalcode / City',
|
||||
|
||||
'LBL_PARENT_ADDRESS_POSTALCODE' => 'Postalcode',
|
||||
|
||||
'LBL_PARENT_ADDRESS_COUNTRY' => 'Country',
|
||||
|
||||
'LBL_TO_VATID' => 'VAT-ID',
|
||||
|
||||
'LBL_TO_IS_VAT_FREE' => 'Is VAT Free?',
|
||||
|
||||
'LBL_HEADER_TEXT' => 'Header Text',
|
||||
|
||||
'LBL_FOOTER_TEXT' => 'Footer Text',
|
||||
|
||||
'LBL_ADS_TEXT' => 'Ads Text',
|
||||
|
||||
|
||||
|
||||
'LBL_SUBTOTAL' => 'Subtotal',
|
||||
|
||||
'LBL_TOTAL' => 'Total',
|
||||
|
||||
'LBL_DISCOUNT' => 'Discount',
|
||||
|
||||
'LBL_VAT' => 'VAT',
|
||||
|
||||
'LBL_ACCEPTED' => 'Accepted',
|
||||
|
||||
'LBL_TEMPLATE_ID' => 'Template Id',
|
||||
|
||||
'LBL_TEMPLATE_NAME' => 'Template',
|
||||
|
||||
'LBL_PAYMENTCONDITION_NAME' => 'Payment Condition',
|
||||
'LBL_PAYMENTCONDITION_ID' => 'Payment Condition ID',
|
||||
|
||||
'LBL_DELIVERYCONDITION_NAME' => 'Delivery Condition',
|
||||
'LBL_DELIVERYCONDITION_ID' => 'Delivery Condition ID',
|
||||
|
||||
'LBL_FORMAT_NUMBER_ERROR' => 'Format Number Error!',
|
||||
|
||||
'LBL_SAVE_FORM_ERROR' => 'There are some errors on items list or in form!',
|
||||
|
||||
'LBL_DISCOUNT_ERROR' => 'Discount Format Number Error',
|
||||
|
||||
'LBL_EDITTABLE_NO' => 'Lp.',
|
||||
'LBL_EDITTABLE_CODE' => 'Code',
|
||||
'LBL_EDITTABLE_NAME' => 'Name',
|
||||
'LBL_EDITTABLE_QUANTITY' => 'Quant',
|
||||
'LBL_EDITTABLE_PRICE' => 'Price',
|
||||
'LBL_EDITTABLE_VAT' => 'VAT',
|
||||
'LBL_EDITTABLE_DISCOUNT' => 'Discount',
|
||||
'LBL_EDITTABLE_TOTAL' => 'Total',
|
||||
'LBL_EDITTABLE_OPTIONS' => 'Opt',
|
||||
|
||||
|
||||
'LBL_MOVE_ROW_UP' => 'Move Up',
|
||||
'LBL_MOVE_ROW_DOWN' => 'Move Down',
|
||||
'LBL_INSERT_NEW_ROW' => 'Insert new row',
|
||||
'LBL_DELETE_ROW' => 'Delete row',
|
||||
|
||||
'LBL_VALIDTILL_DATE' => 'Valid Till',
|
||||
|
||||
// FOR MENU LINKS
|
||||
|
||||
'LNK_NEW_ECMQUOTE' => 'Create Quote',
|
||||
|
||||
'LNK_ECMQUOTES_LIST' => 'Quotes List',
|
||||
|
||||
|
||||
|
||||
'LBL_IMG_SEARCH' => 'Search',
|
||||
|
||||
'LBL_IMG_NEW' => 'New, add to base',
|
||||
|
||||
'LBL_IMG_EDIT' => 'Edit',
|
||||
|
||||
'LBL_CONFIRM_QUESTION' => 'Would you like to confirm this Quote?',
|
||||
|
||||
'LBL_QUOTE_PDF' => 'Show PDF',
|
||||
'LBL_QUOTE_PDF_BUTTON_KEY' => 'Show PDF [Alt+P]',
|
||||
'LBL_QUOTE_PDF_BUTTON_TITLE' => 'Show Quote in PDF file.',
|
||||
|
||||
'LBL_QUOTE_TO_INVOICE' => 'Create Invoice',
|
||||
'LBL_QUOTE_TO_INVOICE_BUTTON_KEY' => 'Create Invoice [Alt+I]',
|
||||
'LBL_QUOTE_TO_INVOICE_BUTTON_TITLE' => 'Create Invoice.',
|
||||
|
||||
'LBL_QUOTE_TO_SALE' => 'Create Sales Order',
|
||||
'LBL_QUOTE_TO_SALE_BUTTON_KEY' => 'Create Sales Order [Alt+O]',
|
||||
'LBL_QUOTE_TO_SALE_BUTTON_TITLE' => 'Create Sales Order.',
|
||||
|
||||
'LBL_SEND_TO_CONFIRM' => 'Send To Confirm',
|
||||
'LBL_SEND_TO_CONFIRM_BUTTON_KEY' => 'Send To Confirm [Alt+C]',
|
||||
'LBL_SEND_TO_CONFIRM_BUTTON_TITLE' => 'Send This Quote To Confirm.',
|
||||
|
||||
'LBL_LIST_TO_INVOICE' => 'Create Invoice.',
|
||||
'LBL_LIST_TO_SALE' => 'Create Sales Order.',
|
||||
|
||||
|
||||
|
||||
//buttons
|
||||
|
||||
'LBL_SEND_BUTTON_TITLE' => 'Save & Send [Alt+D]',
|
||||
'LBL_SEND_BUTTON_KEY' => 'D',
|
||||
'LBL_SEND_BUTTON_LABEL' => 'Save & Send',
|
||||
|
||||
'LBL_REPAIR_BUTTON_TITLE' => 'Repair [Alt+R]',
|
||||
'LBL_REPAIR_BUTTON_KEY' => 'R',
|
||||
'LBL_REPAIR_BUTTON_LABEL' => 'Repair',
|
||||
|
||||
'LBL_ACCEPT_BUTTON_TITLE' => 'Accept [Alt+Z]',
|
||||
'LBL_ACCEPT_BUTTON_KEY' => 'Z',
|
||||
'LBL_ACCEPT_BUTTON_LABEL' => 'Accept',
|
||||
|
||||
'LBL_REJECT_BUTTON_TITLE' => 'Reject [Alt+R]',
|
||||
'LBL_REJECT_BUTTON_KEY' => 'R',
|
||||
'LBL_REJECT_BUTTON_LABEL' => 'Reject',
|
||||
|
||||
'LBL_GO_TO_LIST_BUTTON_TITLE' => 'Go to quotes list [Alt+G]',
|
||||
'LBL_GO_TO_LIST_BUTTON_KEY' => 'G',
|
||||
'LBL_GO_TO_LIST_BUTTON_LABEL' => 'Go to list',
|
||||
|
||||
'LBL_SENDEMAIL_BUTTON' => 'Send Email',
|
||||
|
||||
'LBL_NOT_SAVED' => 'Quote not saved. Please check all fields are correct!',
|
||||
|
||||
'LBL_SAVED' => 'Quote saved successfully.',
|
||||
|
||||
|
||||
|
||||
'LBL_DEFAULT_CONTACT_HEADER_TEXT' => 'Witaj $contact_full_name!',
|
||||
|
||||
'LBL_DEFAULT_CONTACT_FOOTER_TEXT' => 'Tekst pod tabelka dla Contact',
|
||||
|
||||
'LBL_DEFAULT_CONTACT_ADS_TEXT' => 'Tekst pogrubiony pod tabelka dla Contact',
|
||||
|
||||
|
||||
|
||||
'LBL_DEFAULT_ACCOUNT_HEADER_TEXT' => 'Oferta dla $account_name.',
|
||||
|
||||
'LBL_DEFAULT_ACCOUNT_FOOTER_TEXT' => 'Tekst pod tabelka dla Account',
|
||||
|
||||
'LBL_DEFAULT_ACCOUNT_ADS_TEXT' => 'Tekst pogrubiony pod tabelka dla Account',
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
'LBL_NOTES_SUBPANEL_TITLE' => 'Notes',
|
||||
|
||||
'LBL_EMAILS_SUBPANEL_TITLE' => 'Emails',
|
||||
|
||||
|
||||
|
||||
'LBL_DASHLET_MY_ECMQUOTES' => 'Quotes',
|
||||
|
||||
|
||||
|
||||
|
||||
'LBL_PDF_LIST_POSITION' => 'Poz.',
|
||||
'LBL_PDF_LIST_QUANTITY' => 'Ilosc',
|
||||
'LBL_PDF_LIST_UNIT' => '',
|
||||
'LBL_PDF_LIST_DESCRIPTION' => 'Opis',
|
||||
'LBL_PDF_LIST_PRICE' => 'Cena',
|
||||
'LBL_PDF_LIST_DISCOUNT' => 'Rabat',
|
||||
'LBL_PDF_LIST_VAT' => 'VAT',
|
||||
'LBL_PDF_LIST_TOTAL' => 'Suma',
|
||||
'LBL_PDF_TOTAL' => 'Suma',
|
||||
'LBL_PDF_DISCOUNT' => 'RABAT',
|
||||
'LBL_PDF_END_TOTAL' => 'Suma koncowa',
|
||||
'LBL_PDF_VAT' => 'VAT',
|
||||
'LBL_PDF_VATID' => 'VAT-ID',
|
||||
'LBL_PDF_NUMBER' => 'Numer',
|
||||
'LBL_PDF_DATE_REGISTER' => 'Data wystawienia',
|
||||
'LBL_PDF_VALIDTILL_DATE' => 'Waznosc oferty',
|
||||
'LBL_PDF_OWNER' => 'Wystawil',
|
||||
'LBL_PDF_DOCUMENT_NAME' => 'Oferta',
|
||||
'LBL_PDF_FILENAME' => 'Quote_',
|
||||
'LBL_PDF_CODE' => '',
|
||||
|
||||
'LNK_ECMQUOTES_PDFLANGUAGES' => 'PDF Settings',
|
||||
'LBL_ECMLANGUAGE' => 'Language',
|
||||
'LBL_ECMQUOTES_PDFLANGUAGES_TITLE' => 'PDF Languages Settings',
|
||||
|
||||
'LBL_ACCESS_UNAVAIBLE_DELETE_EMAIL' => "You don't have a permission to send Email, because this Quote is not accepted by Manager!",
|
||||
'LBL_SEND_TO_CONFIRM_ERROR' => "Sending Quote to confirm error! Refresh site and try again.",
|
||||
|
||||
'LBL_STATUS_s10_SET_MESSAGE' => "Quote status is set.",
|
||||
'LBL_STATUS_s20_SET_MESSAGE' => "Now Quote is waiting for confimations.",
|
||||
'LBL_STATUS_s30_SET_MESSAGE' => "Quote is confirmed.",
|
||||
'LBL_STATUS_s40_SET_MESSAGE' => "Quote status is set.",
|
||||
|
||||
'LBL_STATUS_s20_FAIL_MESSAGE' => "Sending Quote to confirm error! Refresh site and try again.",
|
||||
|
||||
'LBL_LIST_SEND_TO_CONFIRM' => 'Send To Confirm',
|
||||
'LBL_LIST_DUPLICATE' => 'Duplicate',
|
||||
'LBL_LIST_PREVIEW_PDF' => 'Preview Quote',
|
||||
'LBL_LIST_REJECT' => 'Reject',
|
||||
'LBL_LIST_ACCEPT' => 'Accept',
|
||||
|
||||
|
||||
'LBL_MODIFIED_USER' => 'Modified By',
|
||||
|
||||
'LBL_DEMO_VERSION_INFORMATION' => "This is only demo version.\nPlease contact us at ca@more7.com.",
|
||||
|
||||
'LBL_ORDER_ORIGIN' => 'Order Origin',
|
||||
|
||||
'LBL_PREVIEW_HEADER_NAME' => 'Preview',
|
||||
'LBL_PREVIEW_HEADER_CLOSE' => 'Close',
|
||||
|
||||
'LBL_CONTACT_NAME' => 'Contact',
|
||||
'LBL_CONTACT_ID' => 'Contact Id',
|
||||
'LBL_PARENT_NAME_COPY' => 'Company Name',
|
||||
'LBL_PARENT_CONTACT_NAME' => 'Contact Person',
|
||||
'LBL_PARENT_CONTACT_TITLE' => 'Contact Title',
|
||||
|
||||
'LBL_ALERT_ECMLANGUAGE_CHANGE' => 'Would you like to load default texts correspondencing to this language?',
|
||||
'LBL_LIST_DOWNLOAD_PDF' => 'Download PDF',
|
||||
|
||||
'LBL_IMAGE_SIZE' => 'Images size (%)',
|
||||
);
|
||||
|
||||
|
||||
|
||||
?>
|
||||
406
modules/EcmStockDocCorrects/language/pl_pl.lang.php
Normal file
406
modules/EcmStockDocCorrects/language/pl_pl.lang.php
Normal file
@@ -0,0 +1,406 @@
|
||||
<?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.
|
||||
*
|
||||
* ******************************************************************************
|
||||
*/
|
||||
|
||||
$mod_strings = array (
|
||||
'LBL_STOCK_NAME' => 'Magazyn',
|
||||
'LBL_ECMPRICE' => 'Ceny B2B',
|
||||
'LBL_SEARCH' => 'Wyszukaj',
|
||||
'LBL_CATEGORY' => 'Kategoria',
|
||||
'LBL_PDF_TEXT' => 'Tekst na PDFie',
|
||||
'LBL_PARENT_NIP' => 'NIP',
|
||||
'LBL_NO_TAX' => 'Bez Vatu',
|
||||
'LBL_SITE' => 'Strona',
|
||||
'LBL_SHOW_EAN' => 'Pokaż EAN1',
|
||||
'LBL_SHOW_EAN2' => 'Pokaż EAN2',
|
||||
// added 01.09.2009
|
||||
'LBL_ECMLANGUAGE' => 'Język',
|
||||
'LBL_PRICEBOOK' => 'Cennik',
|
||||
'LBL_EDITTABLE_RECIPIENT_CODE' => 'Kod Odbiorcy',
|
||||
// added 05.08.2009
|
||||
'LBL_CURRENCY' => 'Waluta',
|
||||
'LBL_DETAIL_BUTTON' => 'Szczegóły',
|
||||
// added 15.07.2009
|
||||
'LBL_EDITTABLE_UNIT' => 'J.m.',
|
||||
'LNK_ECMSTOCKDOCCORRECTS_LIST'=>'Lista Dokumentów KS',
|
||||
'LNK_NEW_ECMSTOCKDOCCORRECT'=>'Utwórz Dokument KS',
|
||||
// added 09.02.2009
|
||||
'LBL_SHOW_IMAGES_ON_OFFERS' => 'Pokaż obrazki w PDFie',
|
||||
'LBL_SHOW_RECIPIENT_CODE' => 'Pokaż kod odbiorcy',
|
||||
'LBL_ECMPRODUCTSTOCKINDEX'=>'Kartoteka Materiałowa',
|
||||
// FOR SYSTEM USE
|
||||
|
||||
'LBL_MODULE_NAME' => 'Dokumenty KS',
|
||||
'LBL_DASHLET_MY_ECMSTOCKDOCCORRECTS'=>'Dokumenty KS',
|
||||
'LBL_MODULE_TITLE' => 'Dokumenty KS: Strona Główna',
|
||||
|
||||
'LBL_MODULE_ID' => 'EcmStockDocCorrects',
|
||||
|
||||
'LBL_SEARCH_FORM_TITLE' => 'Wyszukiwanie',
|
||||
|
||||
'LBL_LIST_FORM_TITLE' => 'Lista Ofert',
|
||||
|
||||
'LBL_NEW_FORM_TITLE' => 'Nowa Oferta',
|
||||
|
||||
'LBL_DETAILS' => 'Szczególy Oferty',
|
||||
|
||||
'LBL_ITEMS' => 'Zalaczone Produkty:',
|
||||
|
||||
'LBL_TEXTS' => 'Teksty do PDFa:',
|
||||
|
||||
'LBL_PREVIEW' => 'Podglad PDFa:',
|
||||
|
||||
'LBL_EMAIL' => 'Stwórz Email:',
|
||||
|
||||
'LBL_TO_INFORMATIONS' => 'Informacje o firmie:',
|
||||
|
||||
'LBL_DETAILS_TAB' => 'Szczególy',
|
||||
|
||||
'LBL_ITEMS_TAB' => 'Produkty',
|
||||
|
||||
'LBL_TEXTS_TAB' => 'Teksty',
|
||||
|
||||
'LBL_PREVIEW_TAB' => 'Podglad',
|
||||
|
||||
'LBL_EMAIL_TAB' => 'Email',
|
||||
|
||||
'LBL_ID' => 'Id',
|
||||
|
||||
'LBL_NAME' => 'Nazwa',
|
||||
|
||||
'LBL_DESCRIPTION' => 'Opis',
|
||||
|
||||
'LBL_DATE_ENTERED' => 'Data dodania',
|
||||
|
||||
'LBL_DATE_MODIFIED' => 'Date modyfikacji',
|
||||
|
||||
'LBL_MODIFIED' => 'Ostatnio modyfikowane',
|
||||
|
||||
'LBL_ASSIGNED_TO_ID' => 'Przypisane Do',
|
||||
|
||||
'LBL_ASSIGNED_TO' => 'Przypisane Do',
|
||||
|
||||
'LBL_CREATED' => 'Utworzone Przez',
|
||||
|
||||
'LBL_CREATED_BY_USER' => 'Utworzone Przez',
|
||||
|
||||
'LBL_MODIFIED_BY_USER' => 'Zmodyfikowane Przez',
|
||||
|
||||
'LBL_ASSIGNED_TO_USER' => 'Przypisane Do',
|
||||
|
||||
'LBL_DELETED_BY' => 'Usuniete Przez',
|
||||
|
||||
'LBL_NUMBER' => 'Numer',
|
||||
|
||||
'LBL_DOCUMENT_NO' => 'Numer',
|
||||
|
||||
'LBL_PARENT' => 'Do',
|
||||
|
||||
'LBL_PARENT_NAME' => 'Firma',
|
||||
|
||||
'LBL_PARENT_ID' => 'Firma Id',
|
||||
|
||||
'LBL_TYPE' => 'Typ',
|
||||
|
||||
'LBL_ECMQUOTE_ID' => 'Id Oferty',
|
||||
|
||||
'LBL_ECMQUOTE_NAME' => 'Nazwa Oferty',
|
||||
|
||||
'LBL_STATUS' => 'Status',
|
||||
|
||||
'LBL_REGISTER_DATE' => 'Data Dokumentu',
|
||||
|
||||
'LBL_SELL_DATE' => 'Data Sprzedazy',
|
||||
|
||||
'LBL_PAYMENT_DATE' => 'Data Platnosci',
|
||||
|
||||
'LBL_PARENT_ADDRESS_STREET' => 'Ulica',
|
||||
|
||||
'LBL_PARENT_ADDRESS_CITY' => 'Kod pocztowy / Miasto',
|
||||
|
||||
'LBL_PARENT_ADDRESS_POSTALCODE' => 'Kod pocztowy',
|
||||
|
||||
'LBL_PARENT_ADDRESS_COUNTRY' => 'Panstwo',
|
||||
|
||||
'LBL_TO_VATID' => 'VAT-ID',
|
||||
|
||||
'LBL_TO_IS_VAT_FREE' => 'Czy jest wolne od vatu?',
|
||||
|
||||
'LBL_HEADER_TEXT' => 'Tekst naglówka',
|
||||
|
||||
'LBL_FOOTER_TEXT' => 'Tekst stopki',
|
||||
|
||||
'LBL_ADS_TEXT' => 'Dodatkowy tekst',
|
||||
|
||||
'LBL_SUBTOTAL' => 'Suma',
|
||||
|
||||
'LBL_TOTAL' => 'Suma',
|
||||
|
||||
'LBL_DISCOUNT' => 'Upust',
|
||||
|
||||
'LBL_VAT' => 'VAT',
|
||||
|
||||
'LBL_ACCEPTED' => 'Zaakceptowane',
|
||||
|
||||
'LBL_TEMPLATE_ID' => 'Id Szablonu',
|
||||
|
||||
'LBL_TEMPLATE_NAME' => 'Szablon',
|
||||
|
||||
'LBL_PAYMENTCONDITION_NAME' => 'Warunki Platnosci',
|
||||
'LBL_PAYMENTCONDITION_ID' => 'Warunki Platnosci ID',
|
||||
|
||||
'LBL_DELIVERYCONDITION_NAME' => 'Warunki Dostawy',
|
||||
'LBL_DELIVERYCONDITION_ID' => 'Warunki Dostawy ID',
|
||||
|
||||
'LBL_FORMAT_NUMBER_ERROR' => 'Blad formatu numeru!',
|
||||
|
||||
'LBL_SAVE_FORM_ERROR' => 'Wystepuja bledy na liscie produktów albo w formularzu!',
|
||||
|
||||
'LBL_DISCOUNT_ERROR' => 'Blad formatu upustu',
|
||||
|
||||
'LBL_EDITTABLE_NO' => 'Lp.',
|
||||
'LBL_EDITTABLE_CODE' => 'Kod',
|
||||
'LBL_EDITTABLE_NAME' => 'Nazwa',
|
||||
'LBL_EDITTABLE_QUANTITY' => 'Ilosc',
|
||||
'LBL_EDITTABLE_PRICE' => 'Cena',
|
||||
'LBL_EDITTABLE_VAT' => 'VAT',
|
||||
'LBL_EDITTABLE_DISCOUNT' => 'Upust',
|
||||
'LBL_EDITTABLE_TOTAL' => 'Suma',
|
||||
'LBL_EDITTABLE_OPTIONS' => 'Opcje',
|
||||
|
||||
'LBL_MOVE_ROW_UP' => 'W góre',
|
||||
'LBL_MOVE_ROW_DOWN' => 'W dól',
|
||||
'LBL_INSERT_NEW_ROW' => 'Wstaw nowy wiersz',
|
||||
'LBL_DELETE_ROW' => 'Usun wiersz',
|
||||
|
||||
'LBL_VALIDTILL_DATE' => 'Wazne do',
|
||||
|
||||
// FOR MENU LINKS
|
||||
|
||||
'LNK_NEW_ECMQUOTE' => 'Utwórz Ofertę',
|
||||
|
||||
'LNK_ECMQUOTES_LIST' => 'Lista Ofert',
|
||||
|
||||
'LBL_IMG_SEARCH' => 'Wyszukiwanie',
|
||||
|
||||
'LBL_IMG_NEW' => 'Nowy, dodaj do bazy',
|
||||
|
||||
'LBL_IMG_EDIT' => 'Edycja',
|
||||
|
||||
'LBL_CONFIRM_QUESTION' => 'Chcesz potwierdzic tą Ofertę?',
|
||||
|
||||
'LBL_QUOTE_PDF' => 'Pokaz PDF',
|
||||
'LBL_QUOTE_PDF_BUTTON_KEY' => 'Pokaz PDF [Alt+P]',
|
||||
'LBL_QUOTE_PDF_BUTTON_TITLE' => 'Pokaz Ofertę w pliku PDF.',
|
||||
|
||||
'LBL_QUOTE_TO_INVOICE' => 'Stwórz Fakture',
|
||||
'LBL_QUOTE_TO_INVOICE_BUTTON_KEY' => 'Stwórz Fakture [Alt+I]',
|
||||
'LBL_QUOTE_TO_INVOICE_BUTTON_TITLE' => 'Stwórz Fakture.',
|
||||
|
||||
'LBL_QUOTE_TO_SALE' => 'Stwórz Zamówienie Sprzedazy',
|
||||
'LBL_QUOTE_TO_SALE_BUTTON_KEY' => 'Stwórz Zamówienie Sprzedazy [Alt+O]',
|
||||
'LBL_QUOTE_TO_SALE_BUTTON_TITLE' => 'Stwórz Zamówienie Sprzedazy.',
|
||||
|
||||
'LBL_SEND_TO_CONFIRM' => 'Wyslij Do Potwierdzenia',
|
||||
'LBL_SEND_TO_CONFIRM_BUTTON_KEY' => 'Wyslij Do Potwierdzenia [Alt+C]',
|
||||
'LBL_SEND_TO_CONFIRM_BUTTON_TITLE' => 'Wyslij Do Potwierdzenia.',
|
||||
|
||||
'LBL_LIST_TO_INVOICE' => 'Stwórz Fakture.',
|
||||
'LBL_LIST_TO_SALE' => 'Stwórz Zamówienie Sprzedazy.',
|
||||
|
||||
// buttons
|
||||
|
||||
'LBL_SEND_BUTTON_TITLE' => 'Zapisz i Wyslij [Alt+D]',
|
||||
'LBL_SEND_BUTTON_KEY' => 'D',
|
||||
'LBL_SEND_BUTTON_LABEL' => 'Zapisz i Wyslij',
|
||||
'LBL_TYPE'=>'Typ',
|
||||
'LBL_REPAIR_BUTTON_TITLE' => 'Napraw [Alt+R]',
|
||||
'LBL_REPAIR_BUTTON_KEY' => 'R',
|
||||
'LBL_REPAIR_BUTTON_LABEL' => 'Napraw',
|
||||
|
||||
'LBL_ACCEPT_BUTTON_TITLE' => 'Zaakceptuj [Alt+Z]',
|
||||
'LBL_ACCEPT_BUTTON_KEY' => 'Z',
|
||||
'LBL_ACCEPT_BUTTON_LABEL' => 'Zaakceptuj',
|
||||
|
||||
'LBL_REJECT_BUTTON_TITLE' => 'Nie akceptuj [Alt+R]',
|
||||
'LBL_REJECT_BUTTON_KEY' => 'R',
|
||||
'LBL_REJECT_BUTTON_LABEL' => 'Nie akceptuj',
|
||||
|
||||
'LBL_GO_TO_LIST_BUTTON_TITLE' => 'Idz do listy Ofert [Alt+G]',
|
||||
'LBL_GO_TO_LIST_BUTTON_KEY' => 'G',
|
||||
'LBL_GO_TO_LIST_BUTTON_LABEL' => 'Idz do listy',
|
||||
|
||||
'LBL_SENDEMAIL_BUTTON' => 'Wyslij Email',
|
||||
|
||||
'LBL_NOT_SAVED' => 'Oferta nie została zapisana. Sprawdz czy wszytskie pola sa poprawne!',
|
||||
|
||||
'LBL_SAVED' => 'Oferta została zapisana pomyslnie.',
|
||||
|
||||
'LBL_DEFAULT_CONTACT_HEADER_TEXT' => 'Witaj $contact_full_name!',
|
||||
|
||||
'LBL_DEFAULT_CONTACT_FOOTER_TEXT' => 'Tekst pod tabelka dla Contact',
|
||||
|
||||
'LBL_DEFAULT_CONTACT_ADS_TEXT' => 'Tekst pogrubiony pod tabelka dla Contact',
|
||||
|
||||
'LBL_DEFAULT_ACCOUNT_HEADER_TEXT' => 'Oferta dla $account_name.',
|
||||
|
||||
'LBL_DEFAULT_ACCOUNT_FOOTER_TEXT' => 'Tekst pod tabelka dla Account',
|
||||
|
||||
'LBL_DEFAULT_ACCOUNT_ADS_TEXT' => 'Tekst pogrubiony pod tabelka dla Account',
|
||||
|
||||
'LBL_NOTES_SUBPANEL_TITLE' => 'Notatki',
|
||||
|
||||
'LBL_EMAILS_SUBPANEL_TITLE' => 'Emaile',
|
||||
|
||||
'LBL_DASHLET_MY_ECMQUOTES' => 'Oferty',
|
||||
|
||||
'LNK_ECMQUOTES_PDFLANGUAGES' => 'Ustawienia PDF',
|
||||
'LBL_ECMQUOTES_PDFLANGUAGES_TITLE' => 'Ustawienia jezyków PDFa',
|
||||
|
||||
'LBL_ACCESS_UNAVAIBLE_DELETE_EMAIL' => "You don't have a permission to send Email, because this Correct Document is not accepted by Manager!",
|
||||
'LBL_SEND_TO_CONFIRM_ERROR' => "Sending Correct Document to confirm error! Refresh site and try again.",
|
||||
|
||||
'LBL_STATUS_s10_SET_MESSAGE' => "Status Oferty ustawiony.",
|
||||
'LBL_STATUS_s20_SET_MESSAGE' => "Oferta czeka na potwierdzenie.",
|
||||
'LBL_STATUS_s30_SET_MESSAGE' => "Oferta jest potwierdzony.",
|
||||
'LBL_STATUS_s40_SET_MESSAGE' => "Status Oferty ustawiony.",
|
||||
|
||||
'LBL_STATUS_s20_FAIL_MESSAGE' => "Blad wysylki do potwierdzenia! Odswiez strone i sprobuj ponownie.",
|
||||
|
||||
'LBL_LIST_SEND_TO_CONFIRM' => 'Wyslij do Potwierdzenia',
|
||||
'LBL_LIST_DUPLICATE' => 'Duplikuj',
|
||||
'LBL_LIST_PREVIEW_PDF' => 'Podglad Oferty',
|
||||
'LBL_LIST_REJECT' => 'Nie akceptuj',
|
||||
'LBL_LIST_ACCEPT' => 'Akceptuj',
|
||||
|
||||
'LBL_MODIFIED_USER' => 'Zmodyfikowane Przez',
|
||||
|
||||
'LBL_DEMO_VERSION_INFORMATION' => "This is only demo version.\nPlease contact us at ca@more7.com.",
|
||||
|
||||
'LBL_ORDER_ORIGIN' => 'Zródlo zamówienia',
|
||||
|
||||
'LBL_PREVIEW_HEADER_NAME' => 'Podglad',
|
||||
'LBL_PREVIEW_HEADER_CLOSE' => 'Zamknij',
|
||||
|
||||
'LBL_CONTACT_NAME' => 'Kontakt',
|
||||
'LBL_CONTACT_ID' => 'Id Kontaktu',
|
||||
'LBL_PARENT_NAME_COPY' => 'Nazwa Firmy',
|
||||
'LBL_PARENT_CONTACT_NAME' => 'Osoba Kontaktowa',
|
||||
'LBL_PARENT_CONTACT_TITLE' => 'Tytul Kontaktu',
|
||||
|
||||
'LBL_ALERT_ECMLANGUAGE_CHANGE' => 'Czy zaladowac domyslne teksty dla tego jezyka?',
|
||||
'LBL_LIST_DOWNLOAD_PDF' => 'Pobierz PDF',
|
||||
|
||||
'LBL_IMAGE_SIZE' => 'Rozmiar obrazków (%)',
|
||||
|
||||
// mz new fields
|
||||
'LBL_SEARCH' => 'Wyszukaj',
|
||||
'LBL_CATEGORY' => 'Kategoria',
|
||||
'LBL_SEARCH_STOCK' => 'Stan magazynowy',
|
||||
'LBL_SEARCH_STOCK_OPT_NO' => 'Nie pokazuj',
|
||||
'LBL_SEARCH_STOCK_OPT_YES' => 'Pokaż',
|
||||
'LBL_SEARCH_STOCK_OPT_NOT_NULL' => 'Tylko produkty dostępne',
|
||||
'LBL_SEARCH_SORT' => 'Sortuj wyniki wg.',
|
||||
'LBL_SEARCH_SORT_CODE' => 'Kod rosnąco',
|
||||
'LBL_SEARCH_SORT_CODE_DESC' => 'Kod malejąco',
|
||||
'LBL_SEARCH_SORT_NAME' => 'Nazwa rosnąco',
|
||||
'LBL_SEARCH_SORT_NAME_DESC' => 'Nazwa malejąco'
|
||||
);
|
||||
|
||||
?>
|
||||
125
modules/EcmStockDocCorrects/metadata/SearchFields.php
Normal file
125
modules/EcmStockDocCorrects/metadata/SearchFields.php
Normal file
@@ -0,0 +1,125 @@
|
||||
<?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.
|
||||
|
||||
********************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$searchFields['EcmStockDocCorrects'] = array (
|
||||
|
||||
'name' => array ( 'query_type' => 'default' ),
|
||||
|
||||
'description' => array ( 'query_type' => 'default' ),
|
||||
|
||||
'current_user_only' => array ( 'query_type' => 'default', 'db_field' => array ( 'assigned_user_id' ), 'my_items' => true ),
|
||||
|
||||
'assigned_user_id' => array ( 'query_type' => 'default' ),
|
||||
|
||||
'status' => array ( 'query_type' => 'default' ),
|
||||
|
||||
'register_date' => array ( 'query_type' => 'default' ),
|
||||
|
||||
'parent_name' => array( 'query' => 'default' ),
|
||||
|
||||
|
||||
);
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
||||
194
modules/EcmStockDocCorrects/metadata/detailviewdefs.php
Normal file
194
modules/EcmStockDocCorrects/metadata/detailviewdefs.php
Normal file
@@ -0,0 +1,194 @@
|
||||
<?php
|
||||
|
||||
/*********************************************************************************
|
||||
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
|
||||
*
|
||||
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
|
||||
*
|
||||
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
|
||||
* details.
|
||||
|
||||
*
|
||||
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
|
||||
* 02110-1301 USA.
|
||||
|
||||
*
|
||||
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
|
||||
*
|
||||
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
|
||||
*
|
||||
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
|
||||
* "Powered by SugarCRM".
|
||||
|
||||
* *******************************************************************************/
|
||||
global $app_list_strings;
|
||||
|
||||
$viewdefs ['EcmStockDocCorrects'] ['DetailView'] = array (
|
||||
|
||||
'templateMeta' => array (
|
||||
|
||||
'form' => array (
|
||||
|
||||
'buttons' => array (
|
||||
array (
|
||||
'customCode' => '<input title="{$APP.LBL_DUPLICATE_BUTTON_TITLE}" accessKey="{$APP.LBL_DUPLICATE_BUTTON_KEY}" class="button" onclick="this.form.return_module.value=\'EcmQuotes\'; this.form.return_action.value=\'DetailView\'; this.form.isDuplicate.value=true; this.form.action.value=\'EditView\'; this.form.return_id.value=\'{$id}\';" type="submit" name="Duplicate" value="{$APP.LBL_DUPLICATE_BUTTON_LABEL}" id="duplicate_button">'
|
||||
),
|
||||
array (
|
||||
'customCode' => '{$CREATE_PDF}'
|
||||
),
|
||||
),
|
||||
'hidden' => array (
|
||||
'<input type="hidden" name="vats_summary" id="vats_summary" value=\'{$fields.vats_summary.value}\'>',
|
||||
'<input type="hidden" id="doc_total" value=\'{$fields.total.value}\'>',
|
||||
'<input type="hidden" id="operations_out" value=\'{$OP_OUT}\'>',
|
||||
'<input type="hidden" id="operations_in" value=\'{$OP_IN}\'>'
|
||||
)
|
||||
),
|
||||
|
||||
'maxColumns' => '2',
|
||||
|
||||
'widths' => array (
|
||||
|
||||
array (
|
||||
'label' => '10',
|
||||
'field' => '30'
|
||||
),
|
||||
|
||||
array (
|
||||
'label' => '10',
|
||||
'field' => '30'
|
||||
)
|
||||
),
|
||||
|
||||
'includes' => array (
|
||||
array (
|
||||
'file' => 'include/JSON.js'
|
||||
),
|
||||
array (
|
||||
'file' => 'modules/EcmStockDocCorrects/javascript/EcmStockDocCorrectsDetail.js'
|
||||
),
|
||||
array (
|
||||
'file' => 'modules/EcmStockDocCorrects/javascript/helper.js'
|
||||
),
|
||||
array (
|
||||
'file' => 'modules/EcmStockDocCorrects/javascript/bimit_table.js'
|
||||
),
|
||||
array (
|
||||
'file' => 'modules/EcmStockDocCorrects/javascript/columndefs-detail.js'
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
'panels' => array (
|
||||
|
||||
'LBL_DETAILS_TAB' => array (
|
||||
|
||||
array (
|
||||
'document_no',
|
||||
'assigned_user_name'
|
||||
),
|
||||
|
||||
array (
|
||||
'name',
|
||||
'stock_name'
|
||||
),
|
||||
|
||||
array (
|
||||
'register_date',
|
||||
'type'
|
||||
),
|
||||
array (
|
||||
'ecmproductstockindex_name',
|
||||
),
|
||||
array (
|
||||
'pdf_text'
|
||||
),
|
||||
array (
|
||||
array (
|
||||
|
||||
'name' => 'to_informations',
|
||||
'allCols' => true,
|
||||
|
||||
'hideLabel' => true,
|
||||
|
||||
'customCode' => '<br>'
|
||||
)
|
||||
),
|
||||
array (
|
||||
array (
|
||||
'name' => 'date_modified',
|
||||
'label' => 'LBL_DATE_MODIFIED',
|
||||
'customCode' => '{$fields.date_modified.value} {$APP.LBL_BY} {$MODIFIED_BY_NAME}'
|
||||
),
|
||||
array (
|
||||
'name' => 'date_entered',
|
||||
'customCode' => '{$fields.date_entered.value} {$APP.LBL_BY} {$CREATED_BY_NAME}'
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
'LBL_ITEMS_TAB' => array (
|
||||
|
||||
array (
|
||||
|
||||
array (
|
||||
'name' => 'items_list_panel',
|
||||
'allCols' => true,
|
||||
|
||||
'hideLabel' => true,
|
||||
|
||||
'customCode' => '<div id="itemsTable"></div>'
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
?>
|
||||
|
||||
188
modules/EcmStockDocCorrects/metadata/editviewdefs.php
Normal file
188
modules/EcmStockDocCorrects/metadata/editviewdefs.php
Normal file
@@ -0,0 +1,188 @@
|
||||
<?php
|
||||
/*********************************************************************************
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
* *******************************************************************************/
|
||||
global $sugar_config;
|
||||
$viewdefs ['EcmStockDocCorrects'] ['EditView'] = array (
|
||||
'templateMeta' => array (
|
||||
'form' => array (
|
||||
'enctype' => 'multipart/form-data',
|
||||
'buttons' => array (
|
||||
'SAVE',
|
||||
'CANCEL'
|
||||
),
|
||||
'hidden' => array (
|
||||
'<input type="hidden" name="new_number" id="new_number" value=\'{$NEW_NUMBER}\'>',
|
||||
'<input type="hidden" name="vats_summary" id="vats_summary" value=\'\'>',
|
||||
'<input type="hidden" id="total_netto" name="total_netto" value=\'{$fields.total_netto.value}\'>',
|
||||
'<input type="hidden" id="total_brutto" name="total_brutto" value=\'{$fields.total_brutto.value}\'>',
|
||||
'<input type="hidden" id="status" name="status" value=\'\'>',
|
||||
'<input type="hidden" id="duplicate" name="duplicate" value=\'{$DUPLICATE}\'>',
|
||||
'<input type="hidden" id="position_list" name="position_list" value="">'
|
||||
),
|
||||
),
|
||||
'maxColumns' => '2',
|
||||
'widths' => array (
|
||||
array (
|
||||
'label' => '10',
|
||||
'field' => '30'
|
||||
),
|
||||
array (
|
||||
'label' => '10',
|
||||
'field' => '30'
|
||||
)
|
||||
),
|
||||
'includes' => array (
|
||||
array (
|
||||
'file' => 'include/JSON.js'
|
||||
),
|
||||
array (
|
||||
'file' => 'modules/EcmStockDocCorrects/javascript/EcmStockDocCorrects.js'
|
||||
),
|
||||
array (
|
||||
'file' => 'modules/EcmStockDocCorrects/javascript/bimit_table.js'
|
||||
),
|
||||
array (
|
||||
'file' => 'modules/EcmStockDocCorrects/javascript/columndefs.js'
|
||||
),
|
||||
array (
|
||||
'file' => 'modules/EcmStockDocCorrects/javascript/Consignments.js'
|
||||
)
|
||||
)
|
||||
),
|
||||
'panels' => array (
|
||||
'LBL_DETAILS_TAB' => array (
|
||||
array (
|
||||
array (
|
||||
'type' => 'tab',
|
||||
'active' => true
|
||||
)
|
||||
),
|
||||
array (
|
||||
array (
|
||||
'name' => 'document_no',
|
||||
'tabIndex' => '1',
|
||||
'customCode' => '<div id="tst" style="display:none;"></div><input readonly="readonly" type="text" name="document_no" id="document_no" value=\'{$fields.document_no.value}\'>
|
||||
<input type="hidden" name="number" id="number" value=\'{$fields.number.value}\'>'
|
||||
),
|
||||
array (
|
||||
'name' => 'assigned_user_name',
|
||||
'tabIndex' => '1'
|
||||
)
|
||||
),
|
||||
array (
|
||||
array (
|
||||
'name' => 'name',
|
||||
'tabIndex' => '1'
|
||||
),
|
||||
array (
|
||||
'name' => 'stock_id',
|
||||
'label' => 'LBL_STOCK_NAME',
|
||||
'customCode' => '{$STOCK}'
|
||||
)
|
||||
),
|
||||
|
||||
array (
|
||||
array (
|
||||
'name' => 'register_date',
|
||||
'tabIndex' => '1',
|
||||
'type' => 'datetime',
|
||||
'displayParams' => array (
|
||||
'showFormats' => true
|
||||
)
|
||||
),
|
||||
array(
|
||||
'name' => 'type',
|
||||
'tabIndex' => '1',
|
||||
),
|
||||
|
||||
)
|
||||
,
|
||||
array (
|
||||
'name'=>'ecmproductstockindex_name',
|
||||
'tabIndex' => '1',
|
||||
),
|
||||
array (
|
||||
array (
|
||||
'allCols' => true,
|
||||
'hideLabel' => true,
|
||||
'customCode' => '<div class="tabForm" style="border-top:none;width:100%;height:1px;padding:0px;align:center;"></div><h4>{$MOD.LBL_PDF_TEXT}</h4>'
|
||||
)
|
||||
),
|
||||
array (
|
||||
array (
|
||||
'allCols' => true,
|
||||
'hideLabel' => true,
|
||||
'name' => 'pdf_text'
|
||||
)
|
||||
)
|
||||
),
|
||||
'LBL_ITEMS_TAB' => array (
|
||||
array (
|
||||
array (
|
||||
'type' => 'tab'
|
||||
)
|
||||
),
|
||||
array (
|
||||
array (
|
||||
'allCols' => true,
|
||||
'hideLabel' => true,
|
||||
'customCode' => '
|
||||
<div id="searchProducts" class="edit view search basic">
|
||||
<br>
|
||||
{$MOD.LBL_SEARCH}:
|
||||
<input type="text" value="" id="searchProductsInput"/>
|
||||
{$MOD.LBL_CATEGORY}:
|
||||
<select id="productSearchCategory"></select>
|
||||
{$MOD.LBL_SEARCH_STOCK}:
|
||||
<select id="productSearchStock">
|
||||
<option value="1">{$MOD.LBL_SEARCH_STOCK_OPT_NO}</option>
|
||||
<option value="2">{$MOD.LBL_SEARCH_STOCK_OPT_YES}</option>
|
||||
<option value="3">{$MOD.LBL_SEARCH_STOCK_OPT_NOT_NULL}</option>
|
||||
</select>
|
||||
{$MOD.LBL_SEARCH_SORT}:
|
||||
<select id="productSearchSort">
|
||||
<option value="1">{$MOD.LBL_SEARCH_SORT_CODE}</option>
|
||||
<option value="2">{$MOD.LBL_SEARCH_SORT_CODE_DESC}</option>
|
||||
<option value="3">{$MOD.LBL_SEARCH_SORT_NAME}</option>
|
||||
<option value="4">{$MOD.LBL_SEARCH_SORT_NAME_DESC}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="searchResultDiv"/></div>
|
||||
<br><br><div id="itemsTable"></div>'
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
124
modules/EcmStockDocCorrects/metadata/listviewdefs.php
Normal file
124
modules/EcmStockDocCorrects/metadata/listviewdefs.php
Normal file
@@ -0,0 +1,124 @@
|
||||
<?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.
|
||||
* ******************************************************************************
|
||||
*/
|
||||
|
||||
$listViewDefs ["EcmStockDocCorrects"] = array (
|
||||
|
||||
'NUMBER' => array (
|
||||
'width' => '5',
|
||||
'label' => 'LBL_DOCUMENT_NO',
|
||||
'sortable' => true,
|
||||
'link' => true,
|
||||
'default' => true
|
||||
),
|
||||
|
||||
'NAME' => array (
|
||||
'width' => '15',
|
||||
'label' => 'LBL_NAME',
|
||||
'default' => true,
|
||||
'sortable' => true
|
||||
),
|
||||
|
||||
|
||||
'TYPE' => array(
|
||||
'width' => '10',
|
||||
'label' => 'LBL_TYPE',
|
||||
'default' => true,
|
||||
'align'=>'right',
|
||||
'sortable' => true),
|
||||
'STOCK_NAME' => array (
|
||||
'width' => '5',
|
||||
'label' => 'LBL_STOCK_NAME',
|
||||
'default' => false
|
||||
),
|
||||
|
||||
'MODIFIED_BY_NAME' => array (
|
||||
'width' => '10',
|
||||
'label' => 'LBL_MODIFIED_USER',
|
||||
'module' => 'Users',
|
||||
'id' => 'USERS_ID',
|
||||
'default' => false,
|
||||
'sortable' => false,
|
||||
'related_fields' => array (
|
||||
'modified_user_id'
|
||||
)
|
||||
),
|
||||
|
||||
'REGISTER_DATE' => array (
|
||||
'width' => '15',
|
||||
'label' => 'LBL_REGISTER_DATE',
|
||||
'default' => true,
|
||||
'sortable' => true
|
||||
),
|
||||
'ASSIGNED_USER_NAME' => array(
|
||||
'width' => '10',
|
||||
'label' => 'LBL_LIST_ASSIGNED_USER',
|
||||
'default' => true
|
||||
),
|
||||
'TOTAL' => array (
|
||||
'width' => '5',
|
||||
'label' => 'Wartość netto',
|
||||
'default' => true,
|
||||
'align'=>'right'
|
||||
),
|
||||
'OPTIONS' => array (
|
||||
'width' => '2',
|
||||
'label' => 'PDF',
|
||||
'default' => true,
|
||||
'sortable' => false,
|
||||
'align' => 'center'
|
||||
)
|
||||
)
|
||||
;
|
||||
|
||||
?>
|
||||
116
modules/EcmStockDocCorrects/metadata/searchdefs.php
Normal file
116
modules/EcmStockDocCorrects/metadata/searchdefs.php
Normal file
@@ -0,0 +1,116 @@
|
||||
<?php
|
||||
|
||||
/*********************************************************************************
|
||||
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
|
||||
*
|
||||
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
|
||||
*
|
||||
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
|
||||
* details.
|
||||
|
||||
*
|
||||
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
|
||||
* 02110-1301 USA.
|
||||
|
||||
*
|
||||
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
|
||||
*
|
||||
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
|
||||
*
|
||||
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
|
||||
* "Powered by SugarCRM".
|
||||
|
||||
********************************************************************************/
|
||||
|
||||
|
||||
|
||||
$searchdefs['EcmStockDocCorrects'] = array (
|
||||
|
||||
'templateMeta' => array (
|
||||
|
||||
'maxColumns' => '2',
|
||||
|
||||
'widths' => array (
|
||||
|
||||
'label' => '10',
|
||||
|
||||
'field' => '30'
|
||||
|
||||
),
|
||||
|
||||
),
|
||||
|
||||
'layout' => array (
|
||||
|
||||
'basic_search' => array (
|
||||
'document_no',
|
||||
'register_date',
|
||||
'assigned_user_name',
|
||||
array('name'=>'current_user_only', 'label'=>'LBL_CURRENT_USER_FILTER', 'type'=>'bool'),
|
||||
|
||||
),
|
||||
|
||||
'advanced_search' => array (
|
||||
'document_no',
|
||||
'name',
|
||||
'register_date',
|
||||
'stock_id',
|
||||
'type',
|
||||
array('name'=>'current_user_only', 'label'=>'LBL_CURRENT_USER_FILTER', 'type'=>'bool'),
|
||||
|
||||
),
|
||||
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
||||
76
modules/EcmStockDocCorrects/metadata/studio.php
Normal file
76
modules/EcmStockDocCorrects/metadata/studio.php
Normal file
@@ -0,0 +1,76 @@
|
||||
<?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.
|
||||
********************************************************************************/
|
||||
|
||||
$GLOBALS['studioDefs']['EcmQuotes'] = array(
|
||||
'LBL_DETAILVIEW'=>array(
|
||||
'template' => 'xtpl',
|
||||
'template_file' => 'modules/EcmQuotes/DetailView.html',
|
||||
'php_file' => 'modules/EcmQuotes/DetailView.php',
|
||||
'type' => 'DetailView',
|
||||
),
|
||||
'LBL_EDITVIEW'=>array(
|
||||
'template' => 'xtpl',
|
||||
'template_file' => 'modules/EcmQuotes/EditView.html',
|
||||
'php_file' => 'modules/EcmQuotes/EditView.php',
|
||||
'type' => 'EditView',
|
||||
),
|
||||
'LBL_LISTVIEW'=>array(
|
||||
'template' => 'listview',
|
||||
'meta_file' => 'modules/EcmQuotes/listviewdefs.php',
|
||||
'type' => 'ListView',
|
||||
),
|
||||
'LBL_SEARCHFORM'=>array(
|
||||
'template' => 'xtpl',
|
||||
'template_file' => 'modules/EcmQuotes/SearchForm.html',
|
||||
'php_file' => 'modules/EcmQuotes/ListView.php',
|
||||
'type' => 'SearchForm',
|
||||
),
|
||||
|
||||
);
|
||||
121
modules/EcmStockDocCorrects/metadata/subpaneldefs.php
Normal file
121
modules/EcmStockDocCorrects/metadata/subpaneldefs.php
Normal file
@@ -0,0 +1,121 @@
|
||||
<?php
|
||||
|
||||
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
|
||||
|
||||
/**
|
||||
|
||||
* Layout definition for Accounts
|
||||
|
||||
*
|
||||
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
|
||||
*
|
||||
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
|
||||
*
|
||||
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
|
||||
* details.
|
||||
|
||||
*
|
||||
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
|
||||
* 02110-1301 USA.
|
||||
|
||||
*
|
||||
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
|
||||
*
|
||||
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
|
||||
*
|
||||
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
|
||||
* "Powered by SugarCRM".
|
||||
|
||||
*/
|
||||
|
||||
|
||||
$layout_defs['EcmQuotes']['subpanel_setup'] = array (
|
||||
|
||||
'notes' => array(
|
||||
'order' => 10,
|
||||
'module' => 'Notes',
|
||||
'sort_order' => 'asc',
|
||||
'sort_by' => 'date_entered',
|
||||
'subpanel_name' => 'default',
|
||||
'get_subpanel_data' => 'notes',
|
||||
'add_subpanel_data' => 'note_id',
|
||||
'title_key' => 'LBL_NOTES_SUBPANEL_TITLE',
|
||||
'top_buttons' => array(
|
||||
array('widget_class' => 'SubPanelTopCreateButton'),
|
||||
),
|
||||
),
|
||||
/*
|
||||
'emails' => array (
|
||||
|
||||
'order' => 15,
|
||||
|
||||
'module' => 'Emails',
|
||||
|
||||
'sort_order' => 'asc',
|
||||
|
||||
'sort_by' => 'date_modified',
|
||||
|
||||
'get_subpanel_data' => 'emails',
|
||||
|
||||
'add_subpanel_data' => 'emails_id',
|
||||
|
||||
'subpanel_name' => 'ForEcmQuotes',
|
||||
|
||||
'title_key' => 'LBL_EMAILS_SUBPANEL_TITLE',
|
||||
|
||||
'top_buttons' => array(),
|
||||
|
||||
),
|
||||
*/
|
||||
);
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
||||
128
modules/EcmStockDocCorrects/metadata/subpanels/ForProduct.php
Normal file
128
modules/EcmStockDocCorrects/metadata/subpanels/ForProduct.php
Normal file
@@ -0,0 +1,128 @@
|
||||
<?php
|
||||
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
|
||||
/**
|
||||
* Subpanel Layout definition for Contacts
|
||||
*
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
*/
|
||||
|
||||
$subpanel_layout = array(
|
||||
'top_buttons' => array(
|
||||
array('widget_class' => 'SubPanelTopCreateButton'),
|
||||
//array('widget_class' => 'SubPanelTopSelectButton', 'popup_module' => 'EcmStockDocIns'),
|
||||
),
|
||||
|
||||
'where' => '',
|
||||
|
||||
|
||||
|
||||
'list_fields' => array (
|
||||
|
||||
/*
|
||||
'number' => array (
|
||||
'name' => 'number',
|
||||
'vname' => 'LBL_NUMBER',
|
||||
'module' => 'EcmStockDocIns',
|
||||
'usage' => 'query_only',
|
||||
),
|
||||
*/
|
||||
'document_no' => array (
|
||||
'name' => 'document_no',
|
||||
'vname' => 'LBL_DOCUMENT_NO',
|
||||
'module' => 'EcmStockDocIns',
|
||||
'widget_class' => 'SubPanelDetailViewLink',
|
||||
'width' => '10%',
|
||||
),
|
||||
|
||||
'register_date' => array (
|
||||
'name' => 'register_date',
|
||||
'vname' => 'LBL_REGISTER_DATE',
|
||||
'module' => 'EcmStockDocIns',
|
||||
'width' => '10%',
|
||||
),
|
||||
|
||||
'QUANTITY' => array (
|
||||
'name' => 'quantity',
|
||||
'vname' => 'Ilość',
|
||||
'align'=>'right',
|
||||
'module' => 'EcmStockDocIns',
|
||||
'width' => '10%',
|
||||
),
|
||||
'PRICE_NETTO' => array (
|
||||
'name' => 'price_netto',
|
||||
'vname' => 'Cena netto',
|
||||
'align'=>'right',
|
||||
'module' => 'EcmStockDocIns',
|
||||
'width' => '10%',
|
||||
),
|
||||
'TOTAL_NETTO' => array (
|
||||
'name' => 'total_netto',
|
||||
'vname' => 'Wartość netto',
|
||||
'align'=>'right',
|
||||
'module' => 'EcmStockDocIns',
|
||||
'width' => '10%',
|
||||
),
|
||||
|
||||
'options' => array (
|
||||
'name' => 'options',
|
||||
'label' => ' ',
|
||||
'default' => true,
|
||||
'width' => '10%',
|
||||
'sortable' => false,
|
||||
),
|
||||
|
||||
'status' => array (
|
||||
'name' => 'status',
|
||||
'vname' => 'LBL_STATUS',
|
||||
'module' => 'EcmStockDocIns',
|
||||
'width' => '40%',
|
||||
),
|
||||
/*
|
||||
'PDF_URL' => array(
|
||||
'width' => '2%',
|
||||
'label' => ' ',
|
||||
'link' => true,
|
||||
'default' => true,
|
||||
'sortable' => false,
|
||||
),
|
||||
|
||||
'edit_button'=>array(
|
||||
'widget_class' => 'SubPanelEditButton',
|
||||
'width' => '2%',
|
||||
),
|
||||
*/
|
||||
|
||||
),
|
||||
);
|
||||
?>
|
||||
124
modules/EcmStockDocCorrects/metadata/subpanels/default.php
Normal file
124
modules/EcmStockDocCorrects/metadata/subpanels/default.php
Normal file
@@ -0,0 +1,124 @@
|
||||
<?php
|
||||
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
|
||||
/**
|
||||
* Subpanel Layout definition for Contacts
|
||||
*
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
*/
|
||||
|
||||
$subpanel_layout = array(
|
||||
'top_buttons' => array(
|
||||
array('widget_class' => 'SubPanelTopCreateButton'),
|
||||
array('widget_class' => 'SubPanelTopSelectButton', 'popup_module' => 'EcmQuotes'),
|
||||
),
|
||||
|
||||
'where' => '',
|
||||
|
||||
|
||||
|
||||
'list_fields' => array (
|
||||
|
||||
'status' => array (
|
||||
'name' => 'status',
|
||||
'vname' => 'LBL_STATUS',
|
||||
'module' => 'EcmQuotes',
|
||||
'width' => '5%',
|
||||
),
|
||||
/*
|
||||
'number' => array (
|
||||
'name' => 'number',
|
||||
'vname' => 'LBL_NUMBER',
|
||||
'module' => 'EcmQuotes',
|
||||
'usage' => 'query_only',
|
||||
),
|
||||
*/
|
||||
'document_no' => array (
|
||||
'name' => 'document_no',
|
||||
'vname' => 'LBL_DOCUMENT_NO',
|
||||
'module' => 'EcmQuotes',
|
||||
'widget_class' => 'SubPanelDetailViewLink',
|
||||
'width' => '15%',
|
||||
),
|
||||
|
||||
'name' => array (
|
||||
'name' => 'name',
|
||||
'vname' => 'LBL_NAME',
|
||||
'module' => 'EcmQuotes',
|
||||
'width' => '40%'
|
||||
),
|
||||
|
||||
'total' => array (
|
||||
'name' => 'total',
|
||||
'vname' => 'LBL_TOTAL',
|
||||
'module' => 'EcmQuotes',
|
||||
'width' => '15%',
|
||||
),
|
||||
|
||||
'register_date' => array (
|
||||
'name' => 'register_date',
|
||||
'vname' => 'LBL_REGISTER_DATE',
|
||||
'module' => 'EcmQuotes',
|
||||
'width' => '10%',
|
||||
),
|
||||
'price' => array (
|
||||
'name' => 'price',
|
||||
'vname' => 'Cena',
|
||||
'module' => 'EcmStockDocIns',
|
||||
'width' => '5%',
|
||||
),
|
||||
'options' => array (
|
||||
'name' => 'options',
|
||||
'label' => ' ',
|
||||
'default' => true,
|
||||
'width' => '2%',
|
||||
'sortable' => false,
|
||||
),
|
||||
/*
|
||||
'PDF_URL' => array(
|
||||
'width' => '2%',
|
||||
'label' => ' ',
|
||||
'link' => true,
|
||||
'default' => true,
|
||||
'sortable' => false,
|
||||
),
|
||||
|
||||
'edit_button'=>array(
|
||||
'widget_class' => 'SubPanelEditButton',
|
||||
'width' => '2%',
|
||||
),
|
||||
*/
|
||||
|
||||
),
|
||||
);
|
||||
?>
|
||||
59
modules/EcmStockDocCorrects/pdfMerge.php
Normal file
59
modules/EcmStockDocCorrects/pdfMerge.php
Normal file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
include_once 'modules/EcmStockDocCorrects/createPDF.php';
|
||||
global $current_user;
|
||||
$db=$GLOBALS['db'];
|
||||
$query=$_SESSION[$current_user->id.'_pdf_ecmstockdoccorrects'];
|
||||
|
||||
$result = $db->query($query);
|
||||
|
||||
$id=create_guid();
|
||||
$files=[];
|
||||
$focus = new EcmStockDOcCorrect ();
|
||||
while($dane=$db->fetchByAssoc($result)){
|
||||
|
||||
|
||||
$focus->retrieve($dane['id']);
|
||||
$filename= str_replace(" ","_", str_replace("/", "_", $focus->document_no)).'.pdf';
|
||||
|
||||
createPDF($focus->id,'F','pdfkopie/'.$filename);
|
||||
$db->query("insert into files set name='".$filename."', executed=0, zlecenie_id='$id', email='".$current_user->email1."'");
|
||||
|
||||
}
|
||||
echo "Generacja PDF została zlecona, za chwilę otrzymasz email z adresem do pobrania paczki.";
|
||||
|
||||
/*
|
||||
include './PDFMerger.php';
|
||||
//require_once('fpdi/fpdi.php');
|
||||
require_once('fpdf2/fpdf2.php');
|
||||
require_once('fpdi/fpdi.php');
|
||||
foreach($files as $key=>$val){
|
||||
|
||||
$merge = new PDFMerger(false);
|
||||
|
||||
foreach ($files[$key] as $name){
|
||||
|
||||
if(is_file('pdfkopie/'.$name)){
|
||||
echo './pdfkopie/'.$name.'<br>';
|
||||
$merge->addPDF('pdfkopie/'.$name);
|
||||
}
|
||||
|
||||
}
|
||||
echo './pdfkopie/'.$key.'.pdf<br>';
|
||||
$merge->merge("file",'pdfkopie/'.$key.'.pdf');
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
$zip = new ZipArchive();
|
||||
$filename = "pdfkopie/paczka.zip";
|
||||
unlink($filename);
|
||||
if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
|
||||
exit("cannot open <$filename>\n");
|
||||
}
|
||||
*/
|
||||
?>
|
||||
388
modules/EcmStockDocCorrects/vardefs.php
Normal file
388
modules/EcmStockDocCorrects/vardefs.php
Normal file
@@ -0,0 +1,388 @@
|
||||
<?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.
|
||||
* ******************************************************************************
|
||||
*/
|
||||
$dictionary ['EcmStockDocCorrect'] = array (
|
||||
'table' => "ecmstockdoccorrects",
|
||||
'comment' => 'EcmStockDocCorrects',
|
||||
'duplicate_merge' => true,
|
||||
'unified_search' => true,
|
||||
// FIELDS SECTION
|
||||
'fields' => array (
|
||||
// STANDARD FIELDS SECTION
|
||||
'id' => array (
|
||||
'name' => 'id',
|
||||
'vname' => 'LBL_ID',
|
||||
'type' => 'id',
|
||||
'required' => true,
|
||||
'reportable' => false,
|
||||
'comment' => 'Unique identifier'
|
||||
),
|
||||
'name' => array (
|
||||
'name' => 'name',
|
||||
'vname' => 'LBL_NAME',
|
||||
'type' => 'name',
|
||||
'required' => false,
|
||||
'dbType' => 'varchar',
|
||||
'len' => 255,
|
||||
'unified_search' => true,
|
||||
'comment' => 'The short description of the record contents',
|
||||
'massupdate' => true,
|
||||
'merge_filter' => 'selected'
|
||||
),
|
||||
'description' => array (
|
||||
'type' => 'text',
|
||||
'name' => 'description',
|
||||
'vname' => 'LBL_DESCRIPTION',
|
||||
'comment' => 'Description',
|
||||
'unified_search' => true
|
||||
// 'required' => true,
|
||||
),
|
||||
'date_entered' => array (
|
||||
'name' => 'date_entered',
|
||||
'vname' => 'LBL_DATE_ENTERED',
|
||||
'type' => 'datetime',
|
||||
'required' => true,
|
||||
'comment' => 'Date record created'
|
||||
),
|
||||
'ecmproduct_id' => array(
|
||||
'name' => 'ecmproduct_id',
|
||||
'vname' => 'produkt',
|
||||
'type' => 'varchar',
|
||||
'source' => 'non-db',
|
||||
),
|
||||
'date_modified' => array (
|
||||
'name' => 'date_modified',
|
||||
'vname' => 'LBL_DATE_MODIFIED',
|
||||
'type' => 'datetime',
|
||||
'required' => true,
|
||||
'comment' => 'Date record last modified'
|
||||
),
|
||||
'modified_user_id' => array (
|
||||
'name' => 'modified_user_id',
|
||||
'rname' => 'user_name',
|
||||
'id_name' => 'modified_user_id',
|
||||
'vname' => 'LBL_MODIFIED',
|
||||
'type' => 'assigned_user_name',
|
||||
'table' => 'modified_user_id_users',
|
||||
'isnull' => 'false',
|
||||
'dbType' => 'varchar',
|
||||
'len' => 36,
|
||||
'required' => true,
|
||||
'reportable' => true,
|
||||
'comment' => 'User who last modified record'
|
||||
),
|
||||
'assigned_user_id' => array (
|
||||
'name' => 'assigned_user_id',
|
||||
'rname' => 'user_name',
|
||||
'id_name' => 'assigned_user_id',
|
||||
'vname' => 'LBL_ASSIGNED_TO_ID',
|
||||
'group' => 'assigned_user_name',
|
||||
'type' => 'relate',
|
||||
'table' => 'users',
|
||||
'reportable' => true,
|
||||
'Importable' => false,
|
||||
'isnull' => 'false',
|
||||
'dbType' => 'id',
|
||||
'audited' => true,
|
||||
'comment' => 'User ID assigned to record',
|
||||
'duplicate_merge' => 'disabled',
|
||||
'massupdate' => false
|
||||
),
|
||||
'assigned_user_name' => array (
|
||||
'name' => 'assigned_user_name',
|
||||
'vname' => 'LBL_ASSIGNED_TO',
|
||||
'type' => 'relate',
|
||||
'reportable' => false,
|
||||
'source' => 'non-db',
|
||||
'table' => 'users',
|
||||
'id_name' => 'assigned_user_id',
|
||||
'module' => 'Users',
|
||||
'duplicate_merge' => 'disabled',
|
||||
'massupdate' => false
|
||||
),
|
||||
'ecmproductstockindex_name' => array (
|
||||
'name' => 'ecmproductstockindex_name',
|
||||
'parent_type' => 'ecmquotes_parent_dom',
|
||||
// 'type_name'=>'parent_type',
|
||||
'id_name' => 'ecmproductstockindex_id',
|
||||
'vname' => 'LBL_ECMPRODUCTSTOCKINDEX',
|
||||
'type' => 'relate',
|
||||
'group' => 'parent_name',
|
||||
'dbtype' => 'varchar',
|
||||
'len' => '255',
|
||||
// 'source'=>'non-db',
|
||||
'module' => 'EcmProductStockIndexs',
|
||||
'massupdate' => false,
|
||||
// 'options'=> 'ecmquotes_parent_dom',
|
||||
'required' => false
|
||||
),
|
||||
'ecmproductstockindex_id' => array (
|
||||
'name' => 'ecmproductstockindex_id',
|
||||
'type' => 'id',
|
||||
'module' => 'EcmProductStockIndexs',
|
||||
'vname' => 'LBL_ECMPRODUCTSTOCKINDEX',
|
||||
'group' => 'ecmproductstockindex_name',
|
||||
'massupdate' => false,
|
||||
'reportable' => false,
|
||||
'required' => false
|
||||
),
|
||||
'created_by' => array (
|
||||
'name' => 'created_by',
|
||||
'rname' => 'user_name',
|
||||
'id_name' => 'created_by',
|
||||
'vname' => 'LBL_CREATED',
|
||||
'type' => 'assigned_user_name',
|
||||
'table' => 'created_by_users',
|
||||
'isnull' => 'false',
|
||||
'dbType' => 'varchar',
|
||||
'len' => 36,
|
||||
'comment' => 'User that created the record'
|
||||
),
|
||||
'created_by_link' => array (
|
||||
'name' => 'created_by_link',
|
||||
'type' => 'link',
|
||||
'relationship' => 'ecmstockdoccorrects' . '_created_by',
|
||||
'vname' => 'LBL_CREATED_BY_USER',
|
||||
'link_type' => 'one',
|
||||
'module' => 'Users',
|
||||
'bean_name' => 'User',
|
||||
'source' => 'non-db'
|
||||
),
|
||||
'modified_user_link' => array (
|
||||
'name' => 'modified_user_link',
|
||||
'type' => 'link',
|
||||
'relationship' => 'ecmstockdoccorrects' . '_modified_user',
|
||||
'vname' => 'LBL_MODIFIED_BY_USER',
|
||||
'link_type' => 'one',
|
||||
'module' => 'Users',
|
||||
'bean_name' => 'User',
|
||||
'source' => 'non-db'
|
||||
),
|
||||
'assigned_user_link' => array (
|
||||
'name' => 'assigned_user_link',
|
||||
'type' => 'link',
|
||||
'relationship' => 'ecmstockdoccorrects' . '_assigned_user',
|
||||
'vname' => 'LBL_ASSIGNED_TO_USER',
|
||||
'link_type' => 'one',
|
||||
'module' => 'Users',
|
||||
'bean_name' => 'User',
|
||||
'source' => 'non-db',
|
||||
'duplicate_merge' => 'enabled',
|
||||
'rname' => 'user_name',
|
||||
'id_name' => 'assigned_user_id',
|
||||
'table' => 'users'
|
||||
),
|
||||
'deleted' => array (
|
||||
'name' => 'deleted',
|
||||
'vname' => 'LBL_DELETED_BY',
|
||||
'type' => 'bool',
|
||||
'required' => true,
|
||||
'reportable' => false,
|
||||
'comment' => 'Record deletion indicator'
|
||||
),
|
||||
// NEW FIELDS SECTION
|
||||
'number' => array (
|
||||
'name' => 'number',
|
||||
'vname' => 'LBL_NUMBER',
|
||||
'type' => 'varchar',
|
||||
'required_option' => true,
|
||||
'unified_search' => true,
|
||||
'required' => true,
|
||||
'len' => '20'
|
||||
),
|
||||
'type' => array (
|
||||
'name' => 'type',
|
||||
'vname' => 'LBL_TYPE',
|
||||
'Importable' => false,
|
||||
'reportable' => false,
|
||||
'required' => true,
|
||||
'type' => 'enum',
|
||||
'options' => 'ecmstockdoccorrects_type_dom',
|
||||
'massupdate' => false
|
||||
),
|
||||
'document_no' => array (
|
||||
'name' => 'document_no',
|
||||
'vname' => 'LBL_DOCUMENT_NO',
|
||||
'type' => 'varchar',
|
||||
'required_option' => true,
|
||||
'unified_search' => true,
|
||||
'required' => true,
|
||||
'len' => '30'
|
||||
),
|
||||
'register_date' => array (
|
||||
'name' => 'register_date',
|
||||
'vname' => 'LBL_REGISTER_DATE',
|
||||
'type' => 'date',
|
||||
'reportable' => false,
|
||||
'showFormats' => true,
|
||||
'massupdate' => false,
|
||||
'required' => true
|
||||
),
|
||||
'total' => array (
|
||||
'name' => 'total_netto',
|
||||
'vname' => 'LBL_SUBTOTAL',
|
||||
'type' => 'decimal',
|
||||
'len' => '15,2'
|
||||
),
|
||||
'pdf_text' => array (
|
||||
'name' => 'pdf_text',
|
||||
'vname' => 'LBL_PDF_TEXT',
|
||||
'type' => 'text'
|
||||
),
|
||||
'items_list_panel' => array (
|
||||
'name' => 'items_list_panel',
|
||||
'vname' => 'LBL_ITEMS',
|
||||
'type' => 'text',
|
||||
'source' => 'non-db'
|
||||
),
|
||||
'preview_panel' => array (
|
||||
'name' => 'preview_panel',
|
||||
'vname' => 'LBL_PREVIEW',
|
||||
'type' => 'text',
|
||||
'source' => 'non-db'
|
||||
),
|
||||
'stock_name' => array (
|
||||
'name' => 'stock_name',
|
||||
'vname' => 'LBL_STOCK_NAME',
|
||||
'type' => 'relate',
|
||||
'reportable' => false,
|
||||
'source' => 'non-db',
|
||||
'table' => 'ecmstocks',
|
||||
'id_name' => 'stock_id',
|
||||
'module' => 'EcmStocks',
|
||||
'group' => 'stock_name',
|
||||
'massupdate' => false,
|
||||
'required' => false
|
||||
),
|
||||
'stock_id' => array (
|
||||
'name' => 'stock_id',
|
||||
'type' => 'enum',
|
||||
'module' => 'EcmStocks',
|
||||
'table' => 'ecmstocks',
|
||||
'vname' => 'LBL_STOCK_NAME',
|
||||
'group' => 'stock_name',
|
||||
'options' => 'ecmstocks_list_dom',
|
||||
'required' => true,
|
||||
'massupdate' => false
|
||||
),
|
||||
// FOR SUBPANELS
|
||||
|
||||
'notes' => array (
|
||||
'name' => 'notes',
|
||||
'type' => 'link',
|
||||
'relationship' => 'ecmstockdoccorrects_notes',
|
||||
'source' => 'non-db',
|
||||
'vname' => 'LBL_NOTES'
|
||||
)
|
||||
),
|
||||
// INDICES SECTION
|
||||
'indices' => array (
|
||||
array (
|
||||
'name' => 'ecmstockdoccorrects' . 'pk',
|
||||
'type' => 'primary',
|
||||
'fields' => array (
|
||||
'id'
|
||||
)
|
||||
),
|
||||
array (
|
||||
'name' => 'idx_' . 'ecmstockdoccorrects' . '_document_no',
|
||||
'type' => 'index',
|
||||
'fields' => array (
|
||||
'document_no'
|
||||
)
|
||||
)
|
||||
),
|
||||
// RELATIONSHIPS SECTION
|
||||
'relationships' => array (
|
||||
'ecmstockdoccorrects' . '_assigned_user' => array (
|
||||
'lhs_module' => 'Users',
|
||||
'lhs_table' => 'users',
|
||||
'lhs_key' => 'id',
|
||||
'rhs_module' => 'EcmStockDocCorrects',
|
||||
'rhs_table' => 'ecmstockdoccorrects',
|
||||
'rhs_key' => 'assigned_user_id',
|
||||
'relationship_type' => 'one-to-many'
|
||||
),
|
||||
'ecmstockdoccorrects' . '_modified_user' => array (
|
||||
'lhs_module' => 'Users',
|
||||
'lhs_table' => 'users',
|
||||
'lhs_key' => 'id',
|
||||
'rhs_module' => 'EcmStockDocCorrects',
|
||||
'rhs_table' => 'ecmstockdoccorrects',
|
||||
'rhs_key' => 'modified_user_id',
|
||||
'relationship_type' => 'one-to-many'
|
||||
),
|
||||
'ecmstockdoccorrects' . '_created_by' => array (
|
||||
'lhs_module' => 'Users',
|
||||
'lhs_table' => 'users',
|
||||
'lhs_key' => 'id',
|
||||
'rhs_module' => 'EcmStockDocCorrects',
|
||||
'rhs_table' => 'ecmstockdoccorrects',
|
||||
'rhs_key' => 'created_by',
|
||||
'relationship_type' => 'one-to-many'
|
||||
),
|
||||
'ecmstockdoccorrects_notes' => array (
|
||||
'lhs_module' => 'EcmStockDocCorrects',
|
||||
'lhs_table' => 'ecmstockdoccorrects',
|
||||
'lhs_key' => 'id',
|
||||
'rhs_module' => 'Notes',
|
||||
'rhs_table' => 'notes',
|
||||
'rhs_key' => 'parent_id',
|
||||
'relationship_type' => 'one-to-many',
|
||||
'relationship_role_column' => 'parent_type',
|
||||
'relationship_role_column_value' => 'EcmStockDocCorrects'
|
||||
)
|
||||
),
|
||||
// THIS FLAG ENABLES OPTIMISTIC LOCKING FOR SAVES FROM EDITVIEW
|
||||
'optimistic_locking' => true
|
||||
);
|
||||
355
modules/EcmStockDocCorrects/views/DetailView/DetailView.tpl
Normal file
355
modules/EcmStockDocCorrects/views/DetailView/DetailView.tpl
Normal file
@@ -0,0 +1,355 @@
|
||||
{*
|
||||
|
||||
/*********************************************************************************
|
||||
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
|
||||
*
|
||||
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
|
||||
*
|
||||
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
|
||||
* details.
|
||||
|
||||
*
|
||||
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
|
||||
* 02110-1301 USA.
|
||||
|
||||
*
|
||||
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
|
||||
*
|
||||
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
|
||||
*
|
||||
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
|
||||
* "Powered by SugarCRM".
|
||||
|
||||
********************************************************************************/
|
||||
|
||||
*}
|
||||
|
||||
{{include file="modules/EcmOfferes/views/DetailView/header.tpl"}}
|
||||
|
||||
{sugar_include include=$includes}
|
||||
|
||||
|
||||
|
||||
{{* Render tag for VCR control if SHOW_VCR_CONTROL is true *}}
|
||||
|
||||
{{if $SHOW_VCR_CONTROL}}
|
||||
|
||||
<table width='100%' border='0' style="border-bottom:0px;" cellspacing='{$gridline}' cellpadding='0' class='tabDetailView'>
|
||||
|
||||
{$PAGINATION}
|
||||
|
||||
</table>
|
||||
|
||||
{{/if}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{literal}
|
||||
|
||||
<script language="javascript">
|
||||
|
||||
var SelectedTab = "";
|
||||
|
||||
function SetTab(tab_name) {
|
||||
|
||||
var TabMenu = document.getElementById('groupTabsPanels');
|
||||
|
||||
var tabs = TabMenu.getElementsByTagName('li');
|
||||
|
||||
for(i=0;i<tabs.length;i++) {
|
||||
|
||||
if((tab_name+'_menu') === tabs[i].id) {
|
||||
|
||||
tabs[i].className = 'active';
|
||||
|
||||
tabs[i].getElementsByTagName('a')[0].className = 'current';
|
||||
|
||||
} else {
|
||||
|
||||
tabs[i].className = '';
|
||||
|
||||
tabs[i].getElementsByTagName('a')[0].className = '';
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var prev = document.getElementById(SelectedTab);
|
||||
|
||||
var curr = document.getElementById(tab_name);
|
||||
|
||||
prev.style.display = 'none';
|
||||
|
||||
curr.style.display = '';
|
||||
|
||||
SelectedTab = tab_name;
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
{/literal}
|
||||
|
||||
|
||||
|
||||
<ul class="subpanelTablist" style="margin-top:10px;" id="groupTabsPanels">
|
||||
|
||||
{{foreach name=section from=$sectionPanels key=label item=panel}}
|
||||
{{if $panel[0][0].field.type == 'tab'}}
|
||||
{{if $label=='EMAIL'}}
|
||||
{{else}}
|
||||
<li class="{{if $panel[0][0].field.active}}active{{/if}}" id="panel_{{$label}}_menu">
|
||||
|
||||
<script language="javascript">
|
||||
var set{{$label}} = function() {literal} { {/literal} SetTab('panel_{{$label}}'); {literal} }; {/literal}
|
||||
{{if $panel[0][0].field.active}}SelectedTab="panel_{{$label}}";{{/if}}
|
||||
</script>
|
||||
|
||||
<a class="{{if $panel[0][0].field.active}}current{{else}}other{{/if}}" href="javascript:set{{$label}}();">{sugar_translate label='LBL_{{$label}}_TAB' module='{{$module}}'}</a>
|
||||
|
||||
</li>
|
||||
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{/foreach}}
|
||||
<li class="" id="panel_EMAIL_menu">
|
||||
<a class="" href="javascript:{$EMAIL_LINK}">{sugar_translate label='LBL_EMAIL_TAB' module='EcmOfferes'}</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
{{* Loop through all top level panels first *}}
|
||||
|
||||
{{counter name="panelCount" print=false start=0 assign="panelCount"}}
|
||||
|
||||
{{foreach name=section from=$sectionPanels key=label item=panel}}
|
||||
|
||||
{{assign var='panel_id' value=$panelCount}}
|
||||
|
||||
<div {{if $panel[0][0].field.active == false}}style="display:none"{{/if}} id='panel_{{$label}}'>
|
||||
|
||||
{counter name="panelFieldCount" start=0 print=false assign="panelFieldCount"}
|
||||
|
||||
{{* Print out the panel title if one exists*}}
|
||||
|
||||
|
||||
|
||||
{{* Check to see if the panel variable is an array, if not, we'll attempt an include with type param php *}}
|
||||
|
||||
{{* See function.sugar_include.php *}}
|
||||
|
||||
{{if !is_array($panel)}}
|
||||
|
||||
{sugar_include type='php' file='{{$panel}}'}
|
||||
|
||||
{{else}}
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
|
||||
{{if !empty($label) && !is_int($label) && $label != 'DEFAULT'}}
|
||||
|
||||
<h4 class="dataLabel">{sugar_translate label='{{$label}}' module='{{$module}}'}</h4><br>
|
||||
|
||||
{{/if}}
|
||||
|
||||
-->
|
||||
|
||||
|
||||
|
||||
{{* Print out the table data *}}
|
||||
|
||||
<table width='100%' border='0' style="border-top:0px" cellspacing='{$gridline}' cellpadding='0' class='tabDetailView'>
|
||||
|
||||
{{if $panelCount == 0}}
|
||||
|
||||
{{counter name="panelCount" print=false}}
|
||||
|
||||
{{/if}}
|
||||
|
||||
{{foreach name=rowIteration from=$panel key=row item=rowData}}
|
||||
|
||||
<tr>
|
||||
|
||||
{{assign var='columnsInRow' value=$rowData|@count}}
|
||||
|
||||
{{assign var='columnsUsed' value=0}}
|
||||
|
||||
{{foreach name=colIteration from=$rowData key=col item=colData}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{{if $colData.field.allCols == false}}
|
||||
|
||||
<td width='{{$def.templateMeta.widths[$smarty.foreach.colIteration.index].label}}%' class='tabDetailViewDL' NOWRAP>
|
||||
|
||||
{{if isset($colData.field.customLabel)}}
|
||||
|
||||
{{$colData.field.customLabel}}
|
||||
|
||||
{{elseif isset($colData.field.label) && strpos($colData.field.label, '$')}}
|
||||
|
||||
{capture name="label" assign="label"}
|
||||
|
||||
{{$colData.field.label}}
|
||||
|
||||
{/capture}
|
||||
|
||||
{$label|strip_semicolon}:
|
||||
|
||||
{{elseif isset($colData.field.label)}}
|
||||
|
||||
{capture name="label" assign="label"}
|
||||
|
||||
{sugar_translate label='{{$colData.field.label}}' module='{{$module}}'}
|
||||
|
||||
{/capture}
|
||||
|
||||
{$label|strip_semicolon}:
|
||||
|
||||
{{elseif isset($fields[$colData.field.name])}}
|
||||
|
||||
{capture name="label" assign="label"}
|
||||
|
||||
{sugar_translate label='{{$fields[$colData.field.name].vname}}' module='{{$module}}'}
|
||||
|
||||
{/capture}
|
||||
|
||||
{$label|strip_semicolon}:
|
||||
|
||||
{{else}}
|
||||
|
||||
|
||||
|
||||
{{/if}}
|
||||
|
||||
</td>
|
||||
|
||||
{{/if}}
|
||||
|
||||
<td width='{{if $colData.field.allCols == true}}100{{else}}{{$def.templateMeta.widths[$smarty.foreach.colIteration.index].field}}{{/if}}%' class='tabDetailViewDF' {{if $colData.field.allCols == true}}colspan='4'{{else}}{{if $colData.colspan}}colspan='{{$colData.colspan}}'{{/if}}{{/if}}>
|
||||
|
||||
{{if $colData.field.customCode || $colData.field.assign}}
|
||||
|
||||
{counter name="panelFieldCount"}
|
||||
|
||||
{{sugar_evalcolumn var=$colData.field colData=$colData}}
|
||||
|
||||
{{elseif $fields[$colData.field.name] && !empty($colData.field.fields) }}
|
||||
|
||||
{{foreach from=$colData.field.fields item=subField}}
|
||||
|
||||
{{if $fields[$subField]}}
|
||||
|
||||
{counter name="panelFieldCount"}
|
||||
|
||||
{{sugar_field parentFieldArray='fields' tabindex=$tabIndex vardef=$fields[$subField] displayType='detailView'}}
|
||||
|
||||
{{else}}
|
||||
|
||||
{counter name="panelFieldCount"}
|
||||
|
||||
{{$subField}}
|
||||
|
||||
{{/if}}
|
||||
|
||||
{{/foreach}}
|
||||
|
||||
{{elseif $fields[$colData.field.name]}}
|
||||
|
||||
{counter name="panelFieldCount"}
|
||||
|
||||
{{sugar_field parentFieldArray='fields' vardef=$fields[$colData.field.name] displayType='detailView' displayParams=$colData.field.displayParams typeOverride=$colData.field.type}}
|
||||
|
||||
{{/if}}
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
{{/foreach}}
|
||||
|
||||
</tr>
|
||||
|
||||
{{/foreach}}
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
|
||||
{if $panelFieldCount == 0}
|
||||
|
||||
|
||||
|
||||
<script>document.getElementById("panel_{{$panel_id}}").style.display='none';</script>
|
||||
|
||||
{/if}
|
||||
|
||||
{{/foreach}}
|
||||
|
||||
{{include file="modules/EcmOfferes/views/DetailView/footer.tpl"}}
|
||||
|
||||
37
modules/EcmStockDocCorrects/views/DetailView/footer.tpl
Normal file
37
modules/EcmStockDocCorrects/views/DetailView/footer.tpl
Normal file
@@ -0,0 +1,37 @@
|
||||
{*
|
||||
/*********************************************************************************
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
********************************************************************************/
|
||||
*}
|
||||
</form>
|
||||
105
modules/EcmStockDocCorrects/views/DetailView/header.tpl
Normal file
105
modules/EcmStockDocCorrects/views/DetailView/header.tpl
Normal file
@@ -0,0 +1,105 @@
|
||||
{*
|
||||
/*********************************************************************************
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
********************************************************************************/
|
||||
*}
|
||||
{{* Add the preForm code if it is defined (used for vcards) *}}
|
||||
{{if $preForm}}
|
||||
{{$preForm}}
|
||||
{{/if}}
|
||||
<table cellpadding="1" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td style="padding-bottom: 2px;" align="left" NOWRAP>
|
||||
<form action="index.php" method="post" name="DetailView" id="form">
|
||||
<input type="hidden" name="module" value="{$module}">
|
||||
<input type="hidden" name="record" value="{$fields.id.value}">
|
||||
<input type="hidden" name="return_action">
|
||||
<input type="hidden" name="return_module">
|
||||
<input type="hidden" name="return_id">
|
||||
<input type="hidden" name="isDuplicate" value="false">
|
||||
<input type="hidden" name="offset" value="{$offset}">
|
||||
<input type="hidden" name="action" value="EditView">
|
||||
{{if isset($form.hidden)}}
|
||||
{{foreach from=$form.hidden item=field}}
|
||||
{{$field}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
||||
{{if !isset($form.buttons)}}
|
||||
<input title="{$APP.LBL_EDIT_BUTTON_TITLE}" accessKey="{$APP.LBL_EDIT_BUTTON_KEY}" class="button" onclick="this.form.return_module.value='{$module}'; this.form.return_action.value='DetailView'; this.form.return_id.value='{$id}'; this.form.action.value='EditView'" type="submit" name="Edit" id='edit_button' value=" {$APP.LBL_EDIT_BUTTON_LABEL} ">
|
||||
<input title="{$APP.LBL_DUPLICATE_BUTTON_TITLE}" accessKey="{$APP.LBL_DUPLICATE_BUTTON_KEY}" class="button" onclick="this.form.return_module.value='{$module}'; this.form.return_action.value='index'; this.form.isDuplicate.value=true; this.form.action.value='EditView'" type="submit" name="Duplicate" value=" {$APP.LBL_DUPLICATE_BUTTON_LABEL} " id='duplicate_button'>
|
||||
<input title="{$APP.LBL_DELETE_BUTTON_TITLE}" accessKey="{$APP.LBL_DELETE_BUTTON_KEY}" class="button" onclick="this.form.return_module.value='{$module}'; this.form.return_action.value='ListView'; this.form.action.value='Delete'; return confirm('{$APP.NTC_DELETE_CONFIRMATION}')" type="submit" name="Delete" value=" {$APP.LBL_DELETE_BUTTON_LABEL} " >
|
||||
{{else}}
|
||||
{{counter assign="num_buttons" start=0 print=false}}
|
||||
{{foreach from=$form.buttons key=val item=button}}
|
||||
{{if !is_array($button) && in_array($button, $built_in_buttons)}}
|
||||
{{counter print=false}}
|
||||
{{sugar_button module="$module" id="$button" view="EditView"}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{if isset($closeFormBeforeCustomButtons)}}
|
||||
</form>
|
||||
</td>
|
||||
{{/if}}
|
||||
{{if count($form.buttons) > $num_buttons}}
|
||||
{{foreach from=$form.buttons key=val item=button}}
|
||||
{{if is_array($button) && $button.customCode}}
|
||||
<td style="padding-bottom: 2px;" align="left" NOWRAP>
|
||||
{{sugar_button module="$module" id="$button" view="EditView"}}
|
||||
</td>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{if !isset($closeFormBeforeCustomButtons)}}
|
||||
</form>
|
||||
</td>
|
||||
{{/if}}
|
||||
{{if empty($form.hideAudit) || !$form.hideAudit}}
|
||||
<td style="padding-bottom: 2px;" align="left" NOWRAP>
|
||||
{{sugar_button module="$module" id="Audit" view="EditView"}}
|
||||
</td>
|
||||
{{/if}}
|
||||
<td align="right" width="100%">{$ADMIN_EDIT}</td>
|
||||
{{* Add $form.links if they are defined *}}
|
||||
{{if !empty($form) && isset($form.links)}}
|
||||
<td align="right" width="10%"> </td>
|
||||
<td align="right" width="100%" NOWRAP>
|
||||
{{foreach from=$form.links item=link}}
|
||||
{{$link}}
|
||||
{{/foreach}}
|
||||
</td>
|
||||
{{/if}}
|
||||
</tr>
|
||||
</table>
|
||||
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
/*********************************************************************************
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
* *******************************************************************************/
|
||||
/*
|
||||
* Created on Apr 13, 2007
|
||||
*
|
||||
* To change the template for this generated file go to
|
||||
* Window - Preferences - PHPeclipse - PHP - Code Templates
|
||||
*/
|
||||
require_once('include/DetailView/DetailView2.php');
|
||||
|
||||
class ViewDetailMy extends SugarView{
|
||||
var $type ='detail';
|
||||
var $dv;
|
||||
var $tplFile = 'include/DetailView/DetailView.tpl';
|
||||
|
||||
function ViewDetailMy(){
|
||||
$this->options['show_subpanels'] = true;
|
||||
parent::SugarView();
|
||||
}
|
||||
|
||||
function preDisplay(){
|
||||
$metadataFile = null;
|
||||
$foundViewDefs = false;
|
||||
if(file_exists('custom/modules/' . $this->module . '/metadata/detailviewdefs.php')){
|
||||
$metadataFile = 'custom/modules/' . $this->module . '/metadata/detailviewdefs.php';
|
||||
$foundViewDefs = true;
|
||||
}else{
|
||||
if(file_exists('custom/modules/'.$this->module.'/metadata/metafiles.php')){
|
||||
require_once('custom/modules/'.$this->module.'/metadata/metafiles.php');
|
||||
if(!empty($metafiles[$this->module]['detailviewdefs'])){
|
||||
$metadataFile = $metafiles[$this->module]['detailviewdefs'];
|
||||
$foundViewDefs = true;
|
||||
}
|
||||
}elseif(file_exists('modules/'.$this->module.'/metadata/metafiles.php')){
|
||||
require_once('modules/'.$this->module.'/metadata/metafiles.php');
|
||||
if(!empty($metafiles[$this->module]['detailviewdefs'])){
|
||||
$metadataFile = $metafiles[$this->module]['detailviewdefs'];
|
||||
$foundViewDefs = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
$GLOBALS['log']->debug("metadatafile=". $metadataFile);
|
||||
if(!$foundViewDefs && file_exists('modules/'.$this->module.'/metadata/detailviewdefs.php')){
|
||||
$metadataFile = 'modules/'.$this->module.'/metadata/detailviewdefs.php';
|
||||
}
|
||||
|
||||
$this->dv = new DetailView2();
|
||||
$this->dv->ss =& $this->ss;
|
||||
$this->dv->setup($this->module, $this->bean, $metadataFile, $this->tplFile);
|
||||
}
|
||||
|
||||
function display(){
|
||||
if(empty($this->bean->id)){
|
||||
global $app_strings;
|
||||
sugar_die($app_strings['ERROR_NO_RECORD']);
|
||||
}
|
||||
$this->dv->process();
|
||||
echo $this->dv->display();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
424
modules/EcmStockDocCorrects/views/EditView/EditView.tpl
Normal file
424
modules/EcmStockDocCorrects/views/EditView/EditView.tpl
Normal file
@@ -0,0 +1,424 @@
|
||||
{*
|
||||
|
||||
/*********************************************************************************
|
||||
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
|
||||
*
|
||||
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
|
||||
*
|
||||
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
|
||||
* details.
|
||||
|
||||
*
|
||||
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
|
||||
* 02110-1301 USA.
|
||||
|
||||
*
|
||||
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
|
||||
*
|
||||
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
|
||||
*
|
||||
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
|
||||
* "Powered by SugarCRM".
|
||||
|
||||
********************************************************************************/
|
||||
|
||||
*}
|
||||
|
||||
|
||||
|
||||
{literal}
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
.dataLabel { padding: 2px; }
|
||||
|
||||
.dataField { padding: 2px; }
|
||||
|
||||
.tabEditViewDF { padding: 2px; }
|
||||
|
||||
td .dataLabel { padding: 2px; }
|
||||
|
||||
td .dataField { padding: 2px; }
|
||||
|
||||
td .tabEditViewDF { padding: 2px; }
|
||||
|
||||
.tabForm { border-top:none; }
|
||||
|
||||
</style>
|
||||
|
||||
{/literal}
|
||||
|
||||
|
||||
|
||||
{{include file='modules/EcmOfferes/views/EditView/header.tpl'}}
|
||||
|
||||
{sugar_include include=$includes}
|
||||
|
||||
|
||||
|
||||
<table width="100%" cellspacing="0" cellpadding="0" class='tabDetailView' id='tabFormPagination'>
|
||||
|
||||
{{if $panelCount == 0}}
|
||||
|
||||
{{* Render tag for VCR control if SHOW_VCR_CONTROL is true *}}
|
||||
|
||||
{{if $SHOW_VCR_CONTROL}}
|
||||
|
||||
{$PAGINATION}
|
||||
|
||||
{{/if}}
|
||||
|
||||
{{/if}}
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
{literal}
|
||||
|
||||
<script language="javascript">
|
||||
|
||||
var SelectedTab = "";
|
||||
var TabsMainBlock = false;
|
||||
|
||||
function SetTab(tab_name) {
|
||||
|
||||
if(TabsMainBlock) return;
|
||||
|
||||
var TabMenu = document.getElementById('groupTabs');
|
||||
|
||||
var tabs = TabMenu.getElementsByTagName('li');
|
||||
|
||||
for(i=0;i<tabs.length;i++) {
|
||||
|
||||
if((tab_name+'_menu') === tabs[i].id) {
|
||||
|
||||
tabs[i].className = 'active';
|
||||
|
||||
tabs[i].getElementsByTagName('a')[0].className = 'current';
|
||||
|
||||
} else {
|
||||
|
||||
tabs[i].className = '';
|
||||
|
||||
tabs[i].getElementsByTagName('a')[0].className = '';
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var prev = document.getElementById(SelectedTab);
|
||||
|
||||
var curr = document.getElementById(tab_name);
|
||||
|
||||
prev.style.display = 'none';
|
||||
|
||||
curr.style.display = '';
|
||||
|
||||
SelectedTab = tab_name;
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
{/literal}
|
||||
|
||||
|
||||
|
||||
<ul class="tabList" style="margin-top:10px;" id="groupTabs">
|
||||
|
||||
{{foreach name=section from=$sectionPanels key=label item=panel}}
|
||||
|
||||
{{if $panel[0][0].field.type == 'tab'}}
|
||||
|
||||
<li class="{{if $panel[0][0].field.active}}active{{/if}}" id="{{$label}}_menu">
|
||||
|
||||
<script language="javascript">
|
||||
|
||||
var set{{$label}} = function() {literal} { {/literal} SetTab('{{$label}}'); {literal} }; {/literal}
|
||||
|
||||
{{if $panel[0][0].field.active}}SelectedTab="{{$label}}";{{/if}}
|
||||
|
||||
</script>
|
||||
|
||||
<a class="{{if $panel[0][0].field.active}}current{{/if}}" href="javascript:set{{$label}}();">{sugar_translate label='LBL_{{$label}}_TAB' module='{{$module}}'}</a>
|
||||
|
||||
</li>
|
||||
|
||||
{{/if}}
|
||||
|
||||
{{/foreach}}
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
{{* Loop through all top level panels first *}}
|
||||
|
||||
{{counter name="panelCount" start=-1 print=false assign="panelCount"}}
|
||||
|
||||
|
||||
|
||||
{{foreach name=section from=$sectionPanels key=label item=panel}}
|
||||
|
||||
{{counter name="panelCount" print=false}}
|
||||
|
||||
|
||||
|
||||
{{* Print out the table data *}}
|
||||
|
||||
<div id="{{$label}}" style="display:{{if !$panel[0][0].field.active}}none{{/if}};">
|
||||
|
||||
{counter name="panelFieldCount" start=0 print=false assign="panelFieldCount"}
|
||||
|
||||
{{* Check to see if the panel variable is an array, if not, we'll attempt an include with type param php *}}
|
||||
|
||||
{{* See function.sugar_include.php *}}
|
||||
|
||||
{{if !is_array($panel)}}
|
||||
|
||||
{sugar_include type='php' file='{{$panel}}'}
|
||||
|
||||
{{else}}
|
||||
|
||||
|
||||
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="0" class="{$def.templateMeta.panelClass|default:tabForm}">
|
||||
|
||||
{{* Only show header if it is not default or an int value *}}
|
||||
|
||||
{{if !empty($label) && !is_int($label) && $label != 'DEFAULT'}}
|
||||
|
||||
<th class="dataLabel" align="left" colspan="8">
|
||||
|
||||
<h4>{sugar_translate label='LBL_{{$label}}' module='{{$module}}'}</h4>
|
||||
|
||||
</th>
|
||||
|
||||
{{/if}}
|
||||
|
||||
|
||||
|
||||
{{assign var='rowCount' value=0}}
|
||||
|
||||
{{foreach name=rowIteration from=$panel key=row item=rowData}}
|
||||
|
||||
<tr>
|
||||
|
||||
|
||||
|
||||
{{assign var='columnsInRow' value=$rowData|@count}}
|
||||
|
||||
{{assign var='columnsUsed' value=0}}
|
||||
|
||||
|
||||
|
||||
{{* Loop through each column and display *}}
|
||||
|
||||
{{counter name="colCount" start=0 print=false assign="colCount"}}
|
||||
|
||||
|
||||
|
||||
{{foreach name=colIteration from=$rowData key=col item=colData}}
|
||||
|
||||
{{counter name="colCount" print=false}}
|
||||
|
||||
{{math assign="tabIndex" equation="$panelCount * $maxColumns + $colCount"}}
|
||||
|
||||
{{if count($rowData) == $colCount}}
|
||||
|
||||
{{assign var="colCount" value=0}}
|
||||
|
||||
{{/if}}
|
||||
|
||||
|
||||
|
||||
{{if empty($def.templateMeta.labelsOnTop) && empty($colData.field.hideLabel)}}
|
||||
|
||||
<td valign="top" width='{{$def.templateMeta.widths[$smarty.foreach.colIteration.index].label}}%' class="dataLabel" NOWRAP>
|
||||
|
||||
{{if isset($colData.field.customLabel)}}
|
||||
|
||||
{{$colData.field.customLabel}}
|
||||
|
||||
{{elseif isset($colData.field.label)}}
|
||||
|
||||
{capture name="label" assign="label}
|
||||
|
||||
{sugar_translate label='{{$colData.field.label}}' module='{{$module}}'}
|
||||
|
||||
{/capture}
|
||||
|
||||
{$label|strip_semicolon}:
|
||||
|
||||
{{elseif isset($fields[$colData.field.name])}}
|
||||
|
||||
{capture name="label" assign="label}
|
||||
|
||||
{sugar_translate label='{{$fields[$colData.field.name].vname}}' module='{{$module}}'}
|
||||
|
||||
{/capture}
|
||||
|
||||
{$label|strip_semicolon}:
|
||||
|
||||
{{/if}}
|
||||
|
||||
{{* Show the required symbol if field is required, but override not set. Or show if override is set *}}
|
||||
|
||||
{{if ($fields[$colData.field.name].required && (!isset($colData.field.displayParams.required) || $colData.field.displayParams.required)) ||
|
||||
|
||||
(isset($colData.field.displayParams.required) && $colData.field.displayParams.required)}}
|
||||
|
||||
<span class="required">{{$APP.LBL_REQUIRED_SYMBOL}}</span>
|
||||
|
||||
{{/if}}
|
||||
|
||||
</td>
|
||||
|
||||
{{/if}}
|
||||
|
||||
|
||||
|
||||
<td valign="top" width='{{if $colData.field.allCols}}100%{{else}}{{$def.templateMeta.widths[$smarty.foreach.colIteration.index].field}}{{/if}}%' class='tabEditViewDF' {{if $colData.field.allCols}}colspan='8'{{else}}{{if $colData.colspan}}colspan='{{$colData.colspan}}'{{/if}}{{/if}} NOWRAP>
|
||||
|
||||
{{if !empty($def.templateMeta.labelsOnTop)}}
|
||||
|
||||
{{if isset($colData.field.label)}}
|
||||
|
||||
{{if !empty($colData.field.label)}}
|
||||
|
||||
{sugar_translate label='{{$colData.field.label}}' module='{{$module}}'}:
|
||||
|
||||
{{/if}}
|
||||
|
||||
{{elseif isset($fields[$colData.field.name])}}
|
||||
|
||||
{sugar_translate label='{{$fields[$colData.field.name].vname}}' module='{{$module}}'}:
|
||||
|
||||
{{/if}}
|
||||
|
||||
|
||||
|
||||
{{* Show the required symbol if field is required, but override not set. Or show if override is set *}}
|
||||
|
||||
{{if ($fields[$colData.field.name].required && (!isset($colData.field.displayParams.required) || $colData.field.displayParams.required)) ||
|
||||
|
||||
(isset($colData.field.displayParams.required) && $colData.field.displayParams.required)}}
|
||||
|
||||
<span class="required">{{$APP.LBL_REQUIRED_SYMBOL}}</span>
|
||||
|
||||
{{/if}}
|
||||
|
||||
{{if !isset($colData.field.label) || !empty($colData.field.label)}}
|
||||
|
||||
<br>
|
||||
|
||||
{{/if}}
|
||||
|
||||
{{/if}}
|
||||
|
||||
|
||||
|
||||
{{if $fields[$colData.field.name] && !empty($colData.field.fields) }}
|
||||
|
||||
{{foreach from=$colData.field.fields item=subField}}
|
||||
|
||||
{{if $fields[$subField.name]}}
|
||||
|
||||
{counter name="panelFieldCount"}
|
||||
|
||||
{{sugar_field parentFieldArray='fields' tabindex=$colData.field.tabindex vardef=$fields[$subField.name] displayType='editView' displayParams=$subField.displayParams formName=$form_name}}
|
||||
|
||||
{{/if}}
|
||||
|
||||
{{/foreach}}
|
||||
|
||||
{{elseif !empty($colData.field.customCode)}}
|
||||
|
||||
{counter name="panelFieldCount"}
|
||||
|
||||
{{sugar_evalcolumn var=$colData.field.customCode colData=$colData tabindex=$colData.field.tabindex}}
|
||||
|
||||
{{elseif $fields[$colData.field.name]}}
|
||||
|
||||
{counter name="panelFieldCount"}
|
||||
|
||||
{{$colData.displayParams}}
|
||||
|
||||
{{sugar_field parentFieldArray='fields' tabindex=$colData.field.tabindex vardef=$fields[$colData.field.name] displayType='editView' displayParams=$colData.field.displayParams typeOverride=$colData.field.type formName=$form_name}}
|
||||
|
||||
{{/if}}
|
||||
|
||||
|
||||
|
||||
{{/foreach}}
|
||||
|
||||
</tr>
|
||||
|
||||
{{/foreach}}
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
{{/if}}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
{if $panelFieldCount == 0}
|
||||
|
||||
<script>document.getElementById("{{$label}}").style.display='none';</script>
|
||||
|
||||
{/if}
|
||||
|
||||
{{/foreach}}
|
||||
|
||||
{{include file='modules/EcmOfferes/views/EditView/footer.tpl'}}
|
||||
61
modules/EcmStockDocCorrects/views/EditView/footer.tpl
Normal file
61
modules/EcmStockDocCorrects/views/EditView/footer.tpl
Normal file
@@ -0,0 +1,61 @@
|
||||
{*
|
||||
/*********************************************************************************
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
********************************************************************************/
|
||||
*}
|
||||
{{if empty($form.button_location) || $form.button_location == 'bottom'}}
|
||||
<div style="padding-top: 2px">
|
||||
{{if !empty($form) && !empty($form.buttons)}}
|
||||
{{foreach from=$form.buttons key=val item=button}}
|
||||
{{sugar_button module="$module" id="$button" view="$view"}}
|
||||
{{/foreach}}
|
||||
{{else}}
|
||||
{{sugar_button module="$module" id="SAVE" view="$view"}}
|
||||
{{sugar_button module="$module" id="CANCEL" view="$view"}}
|
||||
{{/if}}
|
||||
{{sugar_button module="$module" id="Audit" view="$view"}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</form>
|
||||
{{if $externalJSFile}}
|
||||
require_once("'".$externalJSFile."'");
|
||||
{{/if}}
|
||||
|
||||
{$set_focus_block}
|
||||
|
||||
{{if isset($scriptBlocks)}}
|
||||
<!-- Begin Meta-Data Javascript -->
|
||||
{{$scriptBlocks}}
|
||||
<!-- End Meta-Data Javascript -->
|
||||
{{/if}}
|
||||
79
modules/EcmStockDocCorrects/views/EditView/header.tpl
Normal file
79
modules/EcmStockDocCorrects/views/EditView/header.tpl
Normal file
@@ -0,0 +1,79 @@
|
||||
{*
|
||||
/*********************************************************************************
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
********************************************************************************/
|
||||
*}
|
||||
<form action="index.php" method="POST" name="{$form_name}" id="{$form_id}" {$enctype}>
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td style="padding-bottom: 2px;">
|
||||
<input type="hidden" name="module" value="{$module}">
|
||||
{if isset($smarty.request.isDuplicate) && $smarty.request.isDuplicate eq "true"}
|
||||
<input type="hidden" name="record" value="">
|
||||
{else}
|
||||
<input type="hidden" name="record" value="{$fields.id.value}">
|
||||
{/if}
|
||||
<input type="hidden" name="isDuplicate" value="false">
|
||||
<input type="hidden" name="action">
|
||||
<input type="hidden" name="return_module" value="{$smarty.request.return_module}">
|
||||
<input type="hidden" name="return_action" value="{$smarty.request.return_action}">
|
||||
<input type="hidden" name="return_id" value="{$smarty.request.return_id}">
|
||||
<input type="hidden" name="contact_role">
|
||||
{if !empty($smarty.request.return_module)}
|
||||
<input type="hidden" name="relate_to" value="{$smarty.request.return_module}">
|
||||
<input type="hidden" name="relate_id" value="{$smarty.request.return_id}">
|
||||
{/if}
|
||||
<input type="hidden" name="offset" value="{$offset}">
|
||||
{{if isset($form.hidden)}}
|
||||
{{foreach from=$form.hidden item=field}}
|
||||
{{$field}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{if empty($form.button_location) || $form.button_location == 'top'}}
|
||||
{{if !empty($form) && !empty($form.buttons)}}
|
||||
{{foreach from=$form.buttons key=val item=button}}
|
||||
{{sugar_button module="$module" id="$button" view="$view"}}
|
||||
{{/foreach}}
|
||||
{{else}}
|
||||
{{sugar_button module="$module" id="SAVE" view="$view"}}
|
||||
{{sugar_button module="$module" id="CANCEL" view="$view"}}
|
||||
{{/if}}
|
||||
{{if empty($form.hideAudit) || !$form.hideAudit}}
|
||||
{{sugar_button module="$module" id="Audit" view="$view"}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</td>
|
||||
<td align='right'>{{$ADMIN_EDIT}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -0,0 +1,184 @@
|
||||
<?php
|
||||
|
||||
/*********************************************************************************
|
||||
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
|
||||
*
|
||||
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
|
||||
*
|
||||
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
|
||||
* details.
|
||||
|
||||
*
|
||||
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
|
||||
* 02110-1301 USA.
|
||||
|
||||
*
|
||||
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
|
||||
*
|
||||
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
|
||||
*
|
||||
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
|
||||
* "Powered by SugarCRM".
|
||||
|
||||
* *******************************************************************************/
|
||||
|
||||
/*
|
||||
|
||||
* Created on Apr 13, 2007
|
||||
|
||||
*
|
||||
|
||||
* To change the template for this generated file go to
|
||||
|
||||
* Window - Preferences - PHPeclipse - PHP - Code Templates
|
||||
|
||||
*/
|
||||
|
||||
require_once('include/EditView/EditView2.php');
|
||||
|
||||
|
||||
|
||||
class ViewEditEcmStockDocCorrects extends SugarView{
|
||||
|
||||
var $ev;
|
||||
|
||||
var $type ='edit';
|
||||
|
||||
var $useForSubpanel = false; //boolean variable to determine whether view can be used for subpanel creates
|
||||
|
||||
var $showTitle = true;
|
||||
|
||||
var $tplFile = 'include/EditView/EditView.tpl';
|
||||
|
||||
|
||||
|
||||
function ViewEditEcmStockDocCorrects(){
|
||||
|
||||
parent::SugarView();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function preDisplay(){
|
||||
|
||||
$metadataFile = null;
|
||||
|
||||
$foundViewDefs = false;
|
||||
|
||||
if(file_exists('custom/modules/' . $this->module . '/metadata/editviewdefs.php')){
|
||||
|
||||
$metadataFile = 'custom/modules/' . $this->module . '/metadata/editviewdefs.php';
|
||||
|
||||
$foundViewDefs = true;
|
||||
|
||||
}else{
|
||||
|
||||
if(file_exists('custom/modules/'.$this->module.'/metadata/metafiles.php')){
|
||||
|
||||
require_once('custom/modules/'.$this->module.'/metadata/metafiles.php');
|
||||
|
||||
if(!empty($metafiles[$this->module]['editviewdefs'])){
|
||||
|
||||
$metadataFile = $metafiles[$this->module]['editviewdefs'];
|
||||
|
||||
$foundViewDefs = true;
|
||||
|
||||
}
|
||||
|
||||
}elseif(file_exists('modules/'.$this->module.'/metadata/metafiles.php')){
|
||||
|
||||
require_once('modules/'.$this->module.'/metadata/metafiles.php');
|
||||
|
||||
if(!empty($metafiles[$this->module]['editviewdefs'])){
|
||||
|
||||
$metadataFile = $metafiles[$this->module]['editviewdefs'];
|
||||
|
||||
$foundViewDefs = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$GLOBALS['log']->debug("metadatafile=". $metadataFile);
|
||||
|
||||
if(!$foundViewDefs && file_exists('modules/'.$this->module.'/metadata/editviewdefs.php')){
|
||||
|
||||
$metadataFile = 'modules/'.$this->module.'/metadata/editviewdefs.php';
|
||||
|
||||
}
|
||||
|
||||
$this->ev = new EditView();
|
||||
|
||||
$this->ev->ss =& $this->ss;
|
||||
|
||||
$this->ev->setup($this->module, $this->bean, $metadataFile, $this->tplFile);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function display(){
|
||||
|
||||
$this->ev->process();
|
||||
|
||||
echo $this->ev->display($this->showTitle);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
252
modules/EcmStockDocCorrects/views/view.list.php
Normal file
252
modules/EcmStockDocCorrects/views/view.list.php
Normal file
@@ -0,0 +1,252 @@
|
||||
<?php
|
||||
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
|
||||
|
||||
/*********************************************************************************
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
********************************************************************************/
|
||||
/*********************************************************************************
|
||||
|
||||
* Description: This file is used to override the default Meta-data EditView behavior
|
||||
* to provide customization specific to the Calls module.
|
||||
* Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
|
||||
* All Rights Reserved.
|
||||
* Contributor(s): ______________________________________..
|
||||
********************************************************************************/
|
||||
|
||||
require_once('include/MVC/View/views/view.list.php');
|
||||
|
||||
class EcmStockDocCorrectsViewList extends ViewList{
|
||||
|
||||
function EcmStockDocCorrectsViewList(){
|
||||
parent::ViewList();
|
||||
}
|
||||
|
||||
function display(){
|
||||
if(!$this->bean->ACLAccess('list')){
|
||||
ACLController::displayNoAccess();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
$this->module=$module = "EcmStockDocCorrects";
|
||||
$metadataFile = null;
|
||||
$foundViewDefs = false;
|
||||
if(file_exists('custom/modules/' . $module. '/metadata/listviewdefs.php')){
|
||||
$metadataFile = 'custom/modules/' . $module . '/metadata/listviewdefs.php';
|
||||
$foundViewDefs = true;
|
||||
}else{
|
||||
if(file_exists('custom/modules/'.$module.'/metadata/metafiles.php')){
|
||||
require_once('custom/modules/'.$module.'/metadata/metafiles.php');
|
||||
if(!empty($metafiles[$module]['listviewdefs'])){
|
||||
$metadataFile = $metafiles[$module]['listviewdefs'];
|
||||
$foundViewDefs = true;
|
||||
}
|
||||
}elseif(file_exists('modules/'.$module.'/metadata/metafiles.php')){
|
||||
require_once('modules/'.$module.'/metadata/metafiles.php');
|
||||
if(!empty($metafiles[$module]['listviewdefs'])){
|
||||
$metadataFile = $metafiles[$module]['listviewdefs'];
|
||||
$foundViewDefs = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!$foundViewDefs && file_exists('modules/'.$module.'/metadata/listviewdefs.php')){
|
||||
$metadataFile = 'modules/'.$module.'/metadata/listviewdefs.php';
|
||||
}
|
||||
require_once($metadataFile);
|
||||
|
||||
if(!empty($_REQUEST['saved_search_select']) && $_REQUEST['saved_search_select']!='_none') {
|
||||
if(empty($_REQUEST['button']) && (empty($_REQUEST['clear_query']) || $_REQUEST['clear_query']!='true')) {
|
||||
$this->saved_search = loadBean('SavedSearch');
|
||||
$this->saved_search->retrieveSavedSearch($_REQUEST['saved_search_select']);
|
||||
$this->saved_search->populateRequest();
|
||||
}
|
||||
elseif(!empty($_REQUEST['button'])) { // click the search button, after retrieving from saved_search
|
||||
$_SESSION['LastSavedView'][$_REQUEST['module']] = '';
|
||||
unset($_REQUEST['saved_search_select']);
|
||||
unset($_REQUEST['saved_search_select_name']);
|
||||
}
|
||||
}
|
||||
|
||||
$storeQuery = new StoreQuery();
|
||||
if(!isset($_REQUEST['query'])){
|
||||
$storeQuery->loadQuery($this->module);
|
||||
$storeQuery->populateRequest();
|
||||
}else{
|
||||
$storeQuery->saveFromRequest($this->module);
|
||||
}
|
||||
|
||||
$seed = $this->bean;
|
||||
$lv = new ListViewSmarty();
|
||||
$displayColumns = array();
|
||||
if(!empty($_REQUEST['displayColumns'])) {
|
||||
foreach(explode('|', $_REQUEST['displayColumns']) as $num => $col) {
|
||||
if(!empty($listViewDefs[$module][$col]))
|
||||
$displayColumns[$col] = $listViewDefs[$module][$col];
|
||||
}
|
||||
}
|
||||
else {
|
||||
foreach($listViewDefs[$module] as $col => $params) {
|
||||
if(!empty($params['default']) && $params['default'])
|
||||
$displayColumns[$col] = $params;
|
||||
}
|
||||
}
|
||||
$params = array('massupdate' => true, 'export'=>false);
|
||||
|
||||
$lv->quickViewLinks = false;
|
||||
$lv->export = false;
|
||||
$lv->mergeduplicates = false;
|
||||
|
||||
if(!empty($_REQUEST['orderBy'])) {
|
||||
$params['orderBy'] = $_REQUEST['orderBy'];
|
||||
$params['overrideOrder'] = true;
|
||||
if(!empty($_REQUEST['sortOrder'])) $params['sortOrder'] = $_REQUEST['sortOrder'];
|
||||
}
|
||||
|
||||
$lv->displayColumns = $displayColumns;
|
||||
|
||||
$this->seed = $seed;
|
||||
$this->module = $module;
|
||||
|
||||
$searchForm = null;
|
||||
|
||||
//search
|
||||
$view = 'basic_search';
|
||||
if(!empty($_REQUEST['search_form_view']))
|
||||
$view = $_REQUEST['search_form_view'];
|
||||
$headers = true;
|
||||
if(!empty($_REQUEST['search_form_only']) && $_REQUEST['search_form_only'])
|
||||
$headers = false;
|
||||
elseif(!isset($_REQUEST['search_form']) || $_REQUEST['search_form'] != 'false') {
|
||||
if(isset($_REQUEST['searchFormTab']) && $_REQUEST['searchFormTab'] == 'advanced_search') {
|
||||
$view = 'advanced_search';
|
||||
}else {
|
||||
$view = 'basic_search';
|
||||
}
|
||||
}
|
||||
|
||||
$use_old_search = true;
|
||||
if(file_exists('modules/'.$this->module.'/SearchForm.html')){
|
||||
require_once('include/SearchForm/SearchForm.php');
|
||||
$searchForm = new SearchForm($this->module, $this->seed);
|
||||
}else{
|
||||
$use_old_search = false;
|
||||
require_once('include/SearchForm/SearchForm2.php');
|
||||
|
||||
if(!empty($metafiles[$this->module]['searchdefs']))
|
||||
require_once($metafiles[$this->module]['searchdefs']);
|
||||
elseif(file_exists('modules/'.$this->module.'/metadata/searchdefs.php'))
|
||||
require_once('modules/'.$this->module.'/metadata/searchdefs.php');
|
||||
|
||||
if (file_exists('custom/modules/'.$this->module.'/metadata/searchdefs.php'))
|
||||
{
|
||||
require_once('custom/modules/'.$this->module.'/metadata/searchdefs.php');
|
||||
}
|
||||
elseif (!empty($metafiles[$this->module]['searchdefs']))
|
||||
{
|
||||
require_once($metafiles[$this->module]['searchdefs']);
|
||||
}
|
||||
elseif (file_exists('modules/'.$this->module.'/metadata/searchdefs.php'))
|
||||
{
|
||||
require_once('modules/'.$this->module.'/metadata/searchdefs.php');
|
||||
}
|
||||
|
||||
if(!empty($metafiles[$this->module]['searchfields']))
|
||||
require_once($metafiles[$this->module]['searchfields']);
|
||||
elseif(file_exists('modules/'.$this->module.'/metadata/SearchFields.php'))
|
||||
require_once('modules/'.$this->module.'/metadata/SearchFields.php');
|
||||
|
||||
$searchForm = new SearchForm($this->seed, $this->module, $this->action);
|
||||
$searchForm->setup($searchdefs, $searchFields, 'include/SearchForm/tpls/SearchFormGeneric.tpl', $view, $listViewDefs);
|
||||
|
||||
$searchForm->lv = $lv;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(isset($this->options['show_title']) && $this->options['show_title'] && (!isset($_REQUEST['search_form_only']) || $_REQUEST['search_form_only'] != "true")) {
|
||||
$moduleName = isset($this->seed->module_dir) ? $this->seed->module_dir : $GLOBALS['mod_strings']['LBL_MODULE_NAME'];
|
||||
|
||||
echo "\n<p>\n";
|
||||
echo get_module_title($moduleName, $GLOBALS['mod_strings']['LBL_MODULE_TITLE'], true);
|
||||
echo "\n</p>\n";
|
||||
|
||||
}
|
||||
|
||||
$where = '';
|
||||
if(isset($_REQUEST['query']))
|
||||
{
|
||||
// we have a query
|
||||
|
||||
if(!empty($_SERVER['HTTP_REFERER']) && preg_match('/action=EditView/', $_SERVER['HTTP_REFERER'])) { // from EditView cancel
|
||||
$searchForm->populateFromArray($storeQuery->query);
|
||||
}
|
||||
else {
|
||||
$searchForm->populateFromRequest();
|
||||
}
|
||||
$where_clauses = $searchForm->generateSearchWhere(true, $this->seed->module_dir);
|
||||
if (count($where_clauses) > 0 )$where = '('. implode(' ) AND ( ', $where_clauses) . ')';
|
||||
$GLOBALS['log']->info("List View Where Clause: $where");
|
||||
}
|
||||
if($use_old_search){
|
||||
switch($view) {
|
||||
case 'basic_search':
|
||||
$searchForm->setup();
|
||||
$searchForm->displayBasic($headers);
|
||||
break;
|
||||
case 'advanced_search':
|
||||
$searchForm->setup();
|
||||
$searchForm->displayAdvanced($headers);
|
||||
break;
|
||||
case 'saved_views':
|
||||
echo $searchForm->displaySavedViews($listViewDefs, $lv, $headers);
|
||||
break;
|
||||
}
|
||||
|
||||
}else{
|
||||
echo $searchForm->display($headers);
|
||||
}
|
||||
if(!$headers)
|
||||
return;
|
||||
|
||||
if(empty($_REQUEST['search_form_only']) || $_REQUEST['search_form_only'] == false){
|
||||
// $this->processQuickSearch();
|
||||
$lv->setup($seed, 'include/ListView/ListViewGeneric.tpl', $where, $params);
|
||||
$savedSearchName = empty($_REQUEST['saved_search_select_name']) ? '' : (' - ' . $_REQUEST['saved_search_select_name']);
|
||||
echo get_form_header($GLOBALS['mod_strings']['LBL_LIST_FORM_TITLE'] . $savedSearchName, '', false);
|
||||
echo $lv->display();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user