This commit is contained in:
2024-04-27 09:23:34 +02:00
commit 11e713ca6f
11884 changed files with 3263371 additions and 0 deletions

View File

@@ -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' => '&nbsp;',
'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'=>'&nbsp;',
'customCode'=>'&nbsp;',
'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' => '&nbsp;',
'link' => false,
'default' => true,
'sortable' => false,
'align' => 'right',
),
'date_entered' => array('width' => '15',
'label' => 'LBL_DATE_ENTERED'),
);
k
?>

View File

@@ -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);
?>

View File

@@ -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;
}
}
?>

View File

@@ -0,0 +1,99 @@
<?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/EcmStockDocOuts/EcmStockDocOut.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 EcmStockDocOut ();
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/EcmStockDocOuts/views/DetailView/view.detail.my.php');
$edit = new ViewDetailMy ();
$edit->ss = new Sugar_Smarty ();
$edit->module = 'EcmStockDocOuts';
$db = $GLOBALS['db'];
$res = $db->query ( "SELECT footer, content FROM ecmstockdocout_pdf WHERE id='".$_REQUEST ['record']."'" );
if ($res->num_rows == 0) {
// create and save doc
$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_images" id="pdf_type"><option value="1">Dokument WZ</option></select><br /><br />';
$btn .= 'EAN: <select name="pdf_ean" id="pdf_ean"><option value="1">Tak</option><option value="0" selected>Nie</option></select><br /><br />';
$btn .= 'EAN2: <select name="pdf_ean2" id="pdf_ean2"><option value="1">Tak</option><option value="0" selected>Nie</option></select><br /><br />';
$btn .= 'Kod odbiorcy: <select name="pdf_recipient_code" id="pdf_recipient_code"><option value="1" selected>Tak</option><option value="0">Nie</option></select><br /><br />';
$btn .= 'Informacje logistyczne: <select name="pdf_logistic_info" id="pdf_logistic_info"><option value="1">Tak</option><option selected value="0">Nie</option></select><br /><br />';
$btn .= 'Numery partii: <select name="pdf_part_no" id="pdf_part_no"><option value="1">Tak</option><option selected value="0">Nie</option></select><br /><br />';
$btn .= '<input name="quote_pdf" id="quote_pdf" title="Show PDF" accessKey="" class="button" onclick="window.open(\'index.php?module=EcmStockDocOuts&action=createPDF&to_pdf=1&show_img=no&pdf_type=\'+$(\'#pdf_type\').val()+\'&show_ean=\'+$(\'#pdf_ean\').val()+\'&show_ean2=\'+$(\'#pdf_ean2\').val()+\'&show_recipient_code=\'+$(\'#pdf_recipient_code\').val()+\'&show_logistic_info=\'+$(\'#pdf_logistic_info\').val()+\'&show_part_no=\'+$(\'#pdf_part_no\').val()+\'&record='.$_REQUEST['record'].'\',\'_blank\');" type="button" value="Pokaż PDF"></div>';
} else {
$btn = '<input name="quote_pdf" id="quote_pdf" title="Show PDF" accessKey="" class="button" onclick="window.open(\'index.php?module=EcmStockDocOuts&action=createPDF&to_pdf=1&show_img=no&pdf_type=\'+$(\'#pdf_type\').val()+\'&show_ean=\'+$(\'#pdf_ean\').val()+\'&show_ean2=\'+$(\'#pdf_ean2\').val()+\'&show_recipient_code=\'+$(\'#pdf_recipient_code\').val()+\'&record='.$_REQUEST['record'].'\',\'_blank\');" type="button" value="Generuj PDF"></div>';
}
$edit->ss->assign("CREATE_PDF",$btn);
$can_edit = false;
global $current_user;
//get operations
$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']));
$a = new EcmSale();
$a->retrieve($focus->ecmsale_id);
$the_array ['ZS'] = "<a target='_blank' href='index.php?module=EcmSales&action=DetailView&record=$a->id'>".$a->document_no."</a>";
$edit->ss->assign ( "zs_no", $the_array ['ZS'] );
$fv_query= "select id,document_no from ecminvoiceouts where wz_id= '".$focus->id."' or wz_record_zb like '%".$focus->id."%' and deleted=0";
$rap= $focus->db->query($fv_query);
$dane=$focus->db->fetchByAssoc($rap);
$the_array['ECMINVOICEOUT_NAME']='<input type="hidden" id="mass_inv_'.$this->id.'" value="'.$dane['id'].'">
<input type="hidden" id="mass_'.$this->id.'" value="'.$this->parent_id.'"><a target="_blank" href="index.php?module=EcmInvoiceOuts&action=DetailView&record='.$dane['id'].'">'.$dane['document_no'].'</a>';
//create image options
$edit->ss->assign ( "fv_no",$the_array['ECMINVOICEOUT_NAME'] );
$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, 'EcmStockDocOuts' );
echo $subpanel->display ();
// loading view
echo '<link rel="stylesheet" type="text/css" href="modules/EcmStockDocOuts/javascript/helper.css" media="screen" /><div class="loading_panel"></div>';
?>

View File

@@ -0,0 +1,817 @@
<?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 EcmStockDocOut 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 = "EcmStockDocOuts";
var $table_name = "ecmstockdocouts";
var $object_name = "EcmStockDocOut";
// 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 EcmStockDocOut() {
parent::SugarBean ();
$this->setupCustomFields ( 'EcmStockDocOuts' );
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 .= "ecmstockdocouts.*
,users.user_name as assigned_user_name";
if ($custom_join) {
$query .= $custom_join ['select'];
}
$query .= " FROM ecmstockdocouts
LEFT JOIN users
ON ecmstockdocouts.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 ecmstockdocouts.name";
return $query;
}
function create_export_query($order_by, $where) {
$custom_join = $this->custom_fields->getJOIN ();
$query = "SELECT
ecmstockdocouts.*,
users.user_name assigned_user_name";
if ($custom_join) {
$query .= $custom_join ['select'];
}
$query .= " FROM ecmstockdocouts ";
$query .= " LEFT JOIN users
ON ecmstockdocouts.assigned_user_id=users.id";
if ($custom_join) {
$query .= $custom_join ['join'];
}
$query .= "";
$where_auto = " ecmstockdocouts.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 ecmstockdocouts.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, 'EcmStockDocOuts' );
$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=EcmStockDocOuts&action=DetailView&record='.$this->id.'">'.$this->document_no.'</a>';
//create image options
$a = new EcmSale();
$a->retrieve($this->ecmsale_id);
$the_array ['ZS'] = "<a target='_blank' href='index.php?module=EcmSales&action=DetailView&record=$a->id'>".$a->document_no."</a>";
$fv_query= "select id,document_no from ecminvoiceouts where wz_id= '".$this->id."' or wz_record_zb like '%".$this->id."%' and deleted=0";
$rap= $this->db->query($fv_query);
$dane=$this->db->fetchByAssoc($rap);
$the_array['ECMINVOICEOUT_NAME']='<input type="hidden" id="mass_inv_'.$this->id.'" value="'.$dane['id'].'">
<input type="hidden" id="mass_'.$this->id.'" value="'.$this->parent_id.'"><a target="_blank" href="index.php?module=EcmInvoiceOuts&action=DetailView&record='.$dane['id'].'">'.$dane['document_no'].'</a>';
//create image options
$op = '<a href="index.php?module=EcmStockDocOuts&action=createPDF&to_pdf=1&record='.$this->id.'" target="new"/><img src="modules/EcmStockDocOuts/images/pdf.gif"/></a>';
$the_array['OPTIONS'] = $op;
return $the_array;
}
function getPriceFromDocument($product){
$zap=$this->db->query("select quantity,price,total from ecmstockdocoutitems where id='".$product."'");
$dane=$this->db->fetchByAssoc($zap);
return $dane;
}
function getStatusMenuInfo($inJSON = true) {
global $app_list_strings;
$arr = array ();
foreach ( $app_list_strings ['ecmstockdocouts_status_dom'] as $key => $value ) {
$arr [$key] = array (
'enabled' => '<div><img src="modules/EcmStockDocOuts/images/' . $key . '.gif" />' . $value . '</div>',
'disabled' => '<div><img src="modules/EcmStockDocOuts/images/' . $key . '.gif" />' . $value . '</div>'
);
}
$json = getJSONobj ();
if ($inJSON)
return str_replace ( '&quot;', '\"', $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/EcmStockDocOuts/ListView.js"></script>';
echo '<link rel="stylesheet" type="text/css" href="modules/EcmStockDocOuts/ListView.css" />';
echo '<script language="javascript"> var EcmStockDocOutsStatusMenu = ' . $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="statusListEcmStockDocOut_' . $id . '" style="display:inline;"><img src="modules/EcmStockDocOuts/images/' . $status . '.gif" title="' . $app_list_strings ['ecmstockdocouts_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, "ecmstockdocouts.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;
require_once ('modules/Accounts/Account.php');
$ac = new Account();
$ac->retrieve ($this->parent_id);
// generate number
$this->number = $this->generateNumber();
$this->document_no = $this->generateDocNumberStock($this->stock_id);
if($this->parent_address_street=='' && $this->parent_address_city=='' && $this->parent_address_postalcode==''){
$this->parent_address_street=$ac->billing_address_street;
$this->parent_address_city=$ac->billing_address_city;
$this->parent_address_postalcode=$ac->billing_address_postalcode;
$this->parent_address_country=$ac->billing_address_country;
}
$this->parent_nip=$ac->to_vatid;
$return_id = parent::save ( $check_notify );
$this->savePositions($return_id);
//update total
$db = $GLOBALS['db'];
$r = $db->fetchByAssoc($db->query("SELECT sum(total) as sum FROM ecmstockdocoutitems WHERE ecmstockdocout_id='$this->id' and deleted='0'"));
$db->query("UPDATE ecmstockdocouts SET total='".$r['sum']."' WHERE id='$this->id'");
$r = $db->fetchByAssoc($db->query("SELECT sum(total_sell) as sum FROM ecmstockdocoutitems WHERE ecmstockdocout_id='$this->id' and deleted='0'"));
$db->query("UPDATE ecmstockdocouts SET total_sell='".$r['sum']."' WHERE id='$this->id'");
//update ecmsale status
if ($this->ecmsale_id) {
$db->query("UPDATE ecmsales SET status='s50' WHERE id='$this->ecmsale_id'");
}
return $return_id;
}
function calculateTotals($id){
$vats_summary='';
$total_netto=0;
$total_brutto=0;
$total_vat=0;
$res= $GLOBALS ['db']->query ("select ROUND(sum(total_netto),2) AS total_netto,ROUND(sum((total_netto*ecmvat_value)/100),2) AS total_vat,
ROUND(sum(((total_netto*ecmvat_value)/100)+total_netto),2) AS total_brutto,ecmvat_value
from ecmstockdocoutitems where ecmstockdocout_id='".$id."' group by ecmvat_id");
while($cc = $GLOBALS ['db']->fetchByAssoc ($res)){
$total_netto+=$cc['total_netto'];
$total_brutto+=$cc['total_brutto'];
$total_vat+=$cc['total_vat'];
$vats_summary.=$cc['ecmvat_value'].'%:'.$cc['total_netto'].':'.$cc['total_vat'].':'.$cc['total_brutto'].',';
}
$res= $GLOBALS ['db']->query ("update ecmstockdocouts set vats_summary='".$vats_summary."',total_netto='".$total_netto."',total_vat='".$total_vat."',
total_brutto='".$total_brutto."' where id='".$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;
$item_id = create_guid();
$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'],
'ean' => $p['product_ean'],
'ean2' => '',
'supplier_code' => $p ['product_supplier_code'],
'price_sell' => $p ['price_sell'],
'total_sell' => $p ['price_total_sell'],
'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'],
'pieces_per_carton' => $p['product_pieces_per_carton'],
'cartons' => $p['product_cartons'],
);
if (!empty($p['part_no'])) {
$arr['part_no'] = $p['part_no'];
}
unset($pr);
$this->db->query ( $this->constructInsertQuery ( $arr ) );
//add to stock
$this->addProducts($arr,$id,$item_id);
$position ++;
}
}
function addProducts($p,$id,$itemid){
$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['ecmproduct_id']."' and used='0'");
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['ecmproduct_id']."' and deleted='0'");
$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($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;
}
}
$avg_pq=0;
$avg_q=0;
foreach($rr as $r){
$this->addProductToStockOut($r['id'],$p['ecmproduct_id'],$r['qty'],$r['price'],$this->register_date,$id,$this->stock_id,$itemid);
$avg_pq+=$r['qty']*$r['price'];
$avg_q+=$r['qty'];
}
$GLOBALS['db']->query("update ecmstockdocoutitems set price='".($avg_pq/$avg_q)."',total='".$avg_pq."' where id='".$itemid."'");
}
function addProductToStockOut($stock_in_id,$product_id,$quantity,$price,$date,$mm_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=$mm_id;
$r=$GLOBALS['db']->fetchByAssoc($GLOBALS['db']->query("select document_no from ecmstockdocouts where id='".$mm_id."'"));
$o->parent_name=$r['document_no'];
$o->parent_type="EcmStockDocOuts";
$o->quantity=$quantity;
$o->price=$price;
$o->in_id=$stock_in_id;
$o->documentitem_id=$itemid;
$o->type=1;
$oid=$o->save();
$GLOBALS['db']->query("update ecmstockoperations set price='".$price."' where id='".$oid."'");
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 ();
$p = new EcmProduct();
$a= new Account();
$a->retrieve($this->parent_id);
$p->retrieve($position ['ecmproduct_id']);
$return_array ['product_id'] = $position ['ecmproduct_id'];
$return_array ['position'] = $position ['position'];
$return_array ['product_code'] = $position ['code'];
$return_array ['product_parent_doc_id']=$this->id;
$return_array ['product_parent_doc_type']='EcmStockDocOut';
$return_array ['product_parent_doc_item_id']=$position ['id'];
$return_array ['name'] = $position ['name'];
$return_array ['quantity'] = $position ['quantity'];
$return_array ['price'] = $position ['price'];
$return_array ['price_start'] = $position ['price_sell'];
$return_array ['price_sell'] = $position ['price_sell'];
$return_array ['recipient_code'] = $position ['supplier_code'];
$return_array ['total'] = $position ['total'];
$return_array ['product_ean'] = $position ['ean'];
if($a->invoice_type!='K'){
$return_array ['ecmvat_id'] = '9b783d21-5548-6653-e1d6-49610eb3f9dd';
$return_array ['ecmvat_name'] = '0%';
$return_array ['ecmvat_value'] = '0';
} else {
$return_array ['ecmvat_id'] = $p->vat_id;
$return_array ['ecmvat_name'] = $p->vat_name;
$return_array ['ecmvat_value'] = $p->vat_value;
}
$return_array ['supplier_code'] = $position ['supplier_code'];
$return_array ['total_sell'] = $position ['total_sell'];
$return_array ['unit_id'] = $position ['dd_unit_id'];
$return_array ['unit_name'] = $position ['dd_unit_name'];
$return_array ['product_pieces_per_carton'] = $position['pieces_per_carton'];
$return_array ['product_cartons'] = $position['cartons'];
$return_array ['part_no'] = $position['part_no'];
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
function insertProductsToStock($pl, $return_id, $stock_id, $itemid) {
require_once("modules/EcmStockOperations/EcmStockOperation.php");
$o = new EcmStockOperation();
require_once("modules/EcmProducts/EcmProduct.php");
$o->product_id = $pl['ecmproduct_id'];
$p = new EcmProduct();
$p->retrieve($pl['ecmproduct_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 ecmstockdocouts where id='" . $return_id . "'"));
$o->parent_name = $r['document_no'];
$o->parent_type = "EcmStockDocOuts";
//$GLOBALS['db']->query("INSERT INTO log VALUES ('".$pl['quantity']."')");
$o->quantity = format_number($pl['quantity']);
$o->price = str_replace(",", ".", str_replace(".", "", $pl['price']));
$o->documentitem_id = $itemid;
$o->type = 0;
$oid = $o->save();
$GLOBALS['db']->query("update ecmstockoperations set price='" . $pl['price'] . "' where id='" . $oid . "'");
require_once("modules/EcmStockStates/EcmStockState.php");
$ss = new EcmStockState();
$ss->UpdateStockState($o->stock_id, $o->product_id);
}
//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 ecmstockdocouts 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 generateDocNumberStock() {
$db = $GLOBALS['db'];
$r = $db->fetchByAssoc($db->query("SELECT count(id) as c FROM ecmstockdocouts 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;
$number=date("Ymd").$tmp;
$n = intval(substr($number, 8,5));
$y = substr($number,2,2);
//has 3 digits?
while (strlen($n) < 3)
$n = '0'.$n;
return 'WZ '.$n.'/'.$y;
}
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 'WZ '.$n.'/'.$y;
}
}
?>

View File

@@ -0,0 +1,96 @@
<?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/EcmStockDocOuts/EcmStockDocOut.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 EcmStockDocOut ();
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 if ($_REQUEST['parent_doc_type']!="true" && $_REQUEST['parent_doc_id']!="") {
$new_number=true;
$ecmsale=true;
$s= New EcmSale();
$s->retrieve($_REQUEST['parent_doc_id']);
$focus->parent_name=$s->parent_name;
$focus->parent_id=$s->parent_id;
$focus->ecmsale_document_no=$s->document_no;
$focus->delivery_date=$s->delivery_date;
$focus->shipping_address_name=$s->shipping_address_name;
$focus->shipping_address_street=$s->shipping_address_street;
$focus->shipping_address_postalcode=$s->shipping_address_postalcode;
$focus->shipping_address_city=$s->shipping_address_city;
$focus->shipping_address_country=$s->shipping_address_country;
$focus->shipping_iln=$s->shipping_iln;
$focus->shipping_nip=$s->shipping_nip;
$focus->parent_order_no=$s->parent_document_no;
$focus->register_date = date("d.m.Y");
$focus->ecmsale_id=$_REQUEST['parent_doc_id'];
//get data
}
else {
$new_number=true;
//dates
$focus->stock_id=$current_user->stock_id;
$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['id']=='c7afd71a-4c3a-bde4-138d-4acaee1644e4'?' selected ':'').'>'.$row['name'].'</option>';
$stock.=$stock_body.'</select><input id="stock_id" name="stock_id" value="c7afd71a-4c3a-bde4-138d-4acaee1644e4" type="hidden"/>';
require_once ('include/MVC/View/SugarView.php');
require_once ('modules/EcmStockDocOuts/views/EditView/view.edit.ecmstockdocouts.php');
$edit = new ViewEditEcmStockDocOuts ();
$edit->ss = new Sugar_Smarty ();
$edit->module = 'EcmStockDocOuts';
$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("ECMSALE", $ecmsale);
$edit->ss->assign("ECMSALE_ID",$_REQUEST['parent_doc_id']);
$edit->ss->assign("ECMSALE_DOCUMENT_NO",$focus->ecmsale_document_no);
$edit->ss->assign("STOCK", $stock);
echo $edit->display ();
//loading view
echo '<link rel="stylesheet" type="text/css" href="modules/EcmStockDocOuts/javascript/helper.css" media="screen" /><div class="loading_panel"></div>';

View 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('EcmStockDocOuts', "edit", true)) $module_menu [] = Array("index.php?module=".'EcmStockDocOuts'."&action=EditView&return_module=".'EcmStockDocOuts'."&return_action=DetailView", translate('LNK_NEW_'.'ECMSTOCKDOCOUT', 'EcmStockDocOuts'),"CreateEcmStockDocOuts", 'EcmStockDocOuts');
if(ACLController::checkAccess('EcmStockDocOuts', "list", true)) $module_menu [] = Array("index.php?module=EcmStockDocOuts&action=index&return_module=EcmStockDocOuts&return_action=DetailView", translate('LNK_ECMSTOCKDOCOUTS_LIST','EcmStockDocOuts'),"EcmStockDocOuts", 'EcmStockDocOuts');
?>

View File

@@ -0,0 +1,368 @@
<?php
$w = "30"; // first column width
$w3 = "30";
$w2 = "20"; // second column width
$content = '
<table style="width: 100%; font-size: 8pt;">
<tr>
<td style="width: ' . $w . '%">
<b>'.$labels['LBL_PDF_CONTENT_SALE_FOR'].'</b>
</td>
<td style="width: ' . $w3 . '%">
<b>'.$labels['LBL_PDF_CONTENT_DELIVERY'].'</b>
</td>
<td style="width: ' . $w2 . '%">
'.$labels['LBL_PDF_CONTENT_NUMBER'].'
</td>
<td style="text-align: right">
<b>' . $focus->document_no . '</b>
</td>
</tr>
<tr>
<td style="width: ' . $w . '%">
' . $focus->parent_name . '
</td>
<td style="width: ' . $w3 . '%">
'.$focus->shipping_address_name.'
</td>
<td style="width: ' . $w2 . '%">
'.$labels['LBL_PDF_CONTENT_REGISTER_DATE'].'
</td>
<td style="text-align: right">
<b>' . $focus->register_date . '</b>
</td>
</tr>
<tr>
<td style="width: ' . $w . '%">
' . $focus->parent_address_street . '
</td>
<td style="width: ' . $w3 . '%">
' . $focus->shipping_address_street . '
</td>
<td valign="top" style="width: ' . $w2 . '%">
'.$labels['LBL_PDF_CONTENT_PARENT_DOCUMENT_NO'].'
</td>
<td colspan="0" valign="top" style="text-align: right">
<b>' . $focus->parent_order_no . '</b>
</td>
</tr>
<tr>
<td style="width: ' . $w . '%">
'. $focus->parent_address_postalcode . ' ' . $focus->parent_address_city;
if (!is_null($focus->parent_address_country) & $focus->parent_address_country!='')
$content.=', '.$focus->parent_address_country;
$content.='
</td>
<td style="width: ' . $w3 . '%">
'. $focus->shipping_address_postalcode . ' ' . $focus->shipping_address_city;
if (!is_null($focus->shipping_address_country) & $focus->shipping_address_country!='')
$content.=', '.$focus->shipping_address_country;
$content.='
</td>
<td style="width: ' . $w2 . '%">
'.$labels['LBL_PDF_CONTENT_ISSUED_BY'].'
</td>
<td style="text-align: right">
<b>' . $user->full_name . '</b>
</td>
</tr>';
$content.='
<tr>
<td valign="top" style="width: ' . $w . '%">';
if (!is_null($focus->parent_nip) && $focus->parent_nip) {
$content.=$labels['LBL_PDF_CONTENT_NIP'].' '.$focus->parent_nip;
$nip = true;
}
if (!is_null($focus->parent_iln) && $focus->parent_iln) {
if ($nip) $content.='<br>'; $nip = false;
$content.=$labels['LBL_PDF_CONTENT_ILN'].' '.$focus->parent_iln;
}
$content.='
</td>';
$content.='
<td valign="top" style="width: ' . $w3 . '%">';
if (!is_null($focus->shipping_nip) && $focus->shipping_nip) {
$content.=$labels['LBL_PDF_CONTENT_NIP'].' '.$focus->shipping_nip;
$nip = true;
}
if (!is_null($focus->shipping_iln) && $focus->shipping_iln) {
if ($nip) $content.'<br>'; $nip = false;
$content.=$labels['LBL_PDF_CONTENT_ILN'].' '.$focus->shipping_iln;
}
$content.='
</td>
<td valign="top" style="width: ' . $w2 . '%">
'.$labels['LBL_PDF_ZS_NAME'].'
</td>
<td colspan="0" valign="top" style="text-align: right">
<b>' . $focus->ecmsale_document_no. '</b>
</td>
</tr>';
$content.='
<tr>
<td valign="top" style="width: ' . $w . '%"></td>
<td valign="top" style="width: ' . $w3 . '%"></td>
<td valign="top" style="width: ' . $w2 . '%">
'.$labels['LBL_PDF_DELIVERY_DATE'].'
</td>
<td colspan="0" valign="top" style="text-align: right">
<b>' . $focus->delivery_date. '</b>
</td>
</tr>';
$content.='
<tr>
<td valign="top" style="width: ' . $w . '%"></td>
<td valign="top" style="width: ' . $w3 . '%"></td>
<td valign="top" style="width: ' . $w2 . '%">
'.$labels['LBL_PDF_ORDER_QTY'].'
</td>
<td colspan="0" valign="top" style="text-align: right">
<b>' . $focus->order_qty. '</b>
</td>
</tr>';
$content.='
</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' => $labels['LBL_PDF_CONTENT_LIST_POSITION'],
'align' => 'center'
);
if ($_REQUEST['show_img']=='1') {
$columns ['image'] = array (
'field' => array (
'image'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_IMAGE'],
'align' => 'center'
);
}
$columns ['product_code'] = array (
'field' => array (
'product_code',
),
'label' => $labels['LBL_PDF_CONTENT_LIST_CODE'],
'align' => 'center'
);
$columns ['name'] = array (
'field' => array (
'name',
),
'label' => $labels['LBL_PDF_CONTENT_LIST_NAME'],
'align' => 'left'
);
if ($_REQUEST ['show_ean'] == '1' || $_REQUEST ['show_ean2'] == '1' || $_REQUEST ['show_recipient_code'] == '1') {
$columns ['codes'] = array (
'align' => 'center'
);
$columns ['codes'] ['label'] = '';
if ($_REQUEST ['show_ean']) {
$columns ['codes'] ['label'] .= $labels['LBL_PDF_CONTENT_LIST_EAN'].'<br>';
$columns ['codes'] ['field'] [] = 'ean';
}
if ($_REQUEST ['show_ean2']) {
$columns ['codes'] ['label'] .= $labels['LBL_PDF_CONTENT_LIST_EAN2'].'<br>';
$columns ['codes'] ['field'] [] = 'ean2';
}
if ($_REQUEST ['show_recipient_code']) {
$columns ['codes'] ['label'] .= $labels['LBL_PDF_CONTENT_LIST_RECIPIENT_CODE'];
$columns ['codes'] ['field'] [] = 'supplier_code';
}
$codes = true;
}
$columns ['qty'] = array (
'field' => array (
'quantity',
'unit_name'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_QTY'].'<br>'.$labels['LBL_PDF_CONTENT_LIST_UNIT'],
'align' => 'right'
);
if ($_REQUEST ['show_logistic_info']) {
$columns['logistic_info'] = array (
'field' => array(
'product_pieces_per_carton',
'product_cartons'
),
'label' => 'Ilość sztuk w kartonie<br>Ilość kartonów',
'align' => 'right',
'width' => '15'
);
}
if ($_REQUEST ['show_part_no']) {
$columns['part_no'] = array (
'field' => array(
'part_no',
),
'label' => 'Numer partii',
'align' => 'right',
'width' => '10'
);
}
$columns['product_code']['width'] = '8';
$columns['name']['width'] = '40';
$columns['qty']['width'] = '10';
if($codes==true){
$columns['codes']['width'] = '12';
}
//set widths
$totals = array();
//1: no picture, no codes, no discounts
if ($_REQUEST['show_img']=='0' && $codes==false && $discounts==false) {
$columns['position']['width'] = '5';
$columns['name']['width'] = '45';
$columns['qty']['width'] = '10';
$columns['price_netto']['width'] = '20';
$columns['total_netto']['width'] = '20';
echo "jestem tu 1";
}
//2: no picture, codes, no discounts
else if ($_REQUEST['show_img']=='0' && $codes==true && $discounts==false) {
$columns['position']['width'] = '5';
$columns['name']['width'] = '20';
$columns['codes']['width'] = '30';
$columns['qty']['width'] = '10';
$columns['price_netto']['width'] = '15';
$columns['total_netto']['width'] = '15';
echo "jestem tu 2";
}
//3: no picture, no codes, discounts
else if ($_REQUEST['show_img']=='0' && $codes==false && $discounts==true) {
$columns['position']['width'] = '5';
$columns['name']['width'] = '40';
$columns['qty']['width'] = '10';
$columns['price_netto']['width'] = '12.5';
$columns['price_start']['width'] = '12.5';
$columns['discount']['width'] = '12.5';
$columns['total_netto']['width'] = '12.5';
echo "jestem tu 3";
}
//4: no picture, codes, discounts
else if ($_REQUEST['show_img']=='0' && $codes==true && $discounts==true) {
$columns['position']['width'] = '5';
$columns['name']['width'] = '30';
$columns['codes']['width'] = '15';
$columns['qty']['width'] = '7';
$columns['price_netto']['width'] = '8';
$columns['price_start']['width'] = '10';
$columns['discount']['width'] = '10';
$columns['total_netto']['width'] = '10';
echo "jestem tu 4";
}
//5: picture, no codes, no discounts
else if ($_REQUEST['show_img']=='1' && $codes==false && $discounts==false) {
$columns['position']['width'] = '5';
$columns['name']['width'] = '45';
$columns['image']['width'] = '20';
$columns['qty']['width'] = '10';
$columns['price_netto']['width'] = '10';
$columns['total_netto']['width'] = '10';
echo "jestem tu 5";
}
//6: picture, codes, no discounts
else if ($_REQUEST['show_img']=='1' && $codes==true && $discounts==false) {
$columns['position']['width'] = '5';
$columns['name']['width'] = '35';
$columns['codes']['width'] = '15';
$columns['image']['width'] = '15';
$columns['qty']['width'] = '10';
$columns['price_netto']['width'] = '10';
$columns['total_netto']['width'] = '10';
echo "jestem tu 6";
}
//7: pictures, codes, discounts
else if ($_REQUEST['show_img']=='1' && $codes==true && $discounts==true) {
$columns['position']['width'] = '5';
$columns['name']['width'] = '35';
$columns['codes']['width'] = '15';
$columns['image']['width'] = '15';
$columns['qty']['width'] = '10';
$columns['price_start']['width'] = '10';
$columns['discount']['width'] = '10';
$columns['price_netto']['width'] = '10';
$columns['total_netto']['width'] = '10';
echo "jestem tu 7";
}
// 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; background: rgb(233,233,233); 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 ($f == 'image') {
$content.='<img width="40px" src="modules/EcmProducts/upload/images/'.$pos['image'].'"/>';
} else {
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.='
</table>
<br><br>
'.$focus->pdf_text.'
';
//echo $content; die();

View File

@@ -0,0 +1,324 @@
<?php
$w = "30"; // first column width
$w3 = "30";
$w2 = "20"; // second column width
$content = '<p style="text-align: center;"><b>WZ nr '.$focus->document_no.'</b></p>
<table style="width: 100%; font-size: 8pt;">
<tr>
<td style="width: ' . $w . '%">
<b>'.$labels['LBL_PDF_CONTENT_INVOICE_FOR'].'</b>
</td>
<td style="width: ' . $w3 . '%">';
if($focus->shipping_address_name!=''){
$content.= '<b>'.$labels['LBL_PDF_CONTENT_DELIVERY'].'</b>';
}
$content.= '</td>
<td style="width: ' . $w2 . '%">
</td>
<td style="text-align: right">
</td>
</tr>
<tr>
<td style="width: ' . $w . '%">
' . $focus->parent_name . '
</td>
<td style="width: ' . $w3 . '%">
'.$focus->shipping_address_name.'
</td>
<td style="width: ' . $w2 . '%">
</td>
<td style="text-align: right">
</td>
</tr>
<tr>
<td style="width: ' . $w . '%">
' . $focus->parent_address_street . '
</td>
<td style="width: ' . $w3 . '%">
' . $focus->shipping_address_street . '
</td>
<td style="width: ' . $w2 . '%"></td>
<td style="text-align: right">
</td>
</tr>
<tr>
<td style="width: ' . $w . '%">
'. $focus->parent_address_postalcode . ' ' . $focus->parent_address_city;
if (!is_null($focus->parent_address_country) & $focus->parent_address_country!='')
$content.=', '.$focus->parent_address_country;
$content.='
</td>
<td style="width: ' . $w3 . '%">
'. $focus->shipping_address_postalcode . ' ' . $focus->shipping_address_city;
if (!is_null($focus->shipping_address_country) & $focus->shipping_address_country!='')
$content.=', '.$focus->shipping_address_country;
$content.='
</td>
<td style="width: ' . $w2 . '%">
</td>
<td style="text-align: right">
</td>
</tr>';
$content.='
<tr>
<td valign="top" style="width: ' . $w . '%">';
if (!is_null($focus->parent_nip) && $focus->parent_nip) {
$content.=$labels['LBL_PDF_CONTENT_NIP'].' '.$focus->parent_nip;
$nip = true;
}
if (!is_null($focus->parent_iln) && $focus->parent_iln) {
if ($nip) $content.'<br>'; $nip = false;
$content.=$labels['LBL_PDF_CONTENT_ILN'].' '.$focus->parent_iln;
}
$content.='
</td>';
$content.='
<td valign="top" style="width: ' . $w3 . '%">';
if (!is_null($focus->shipping_nip) && $focus->shipping_nip) {
$content.=$labels['LBL_PDF_CONTENT_NIP'].' '.$focus->shipping_nip;
$nip = true;
}
if (!is_null($focus->shipping_iln) && $focus->shipping_iln) {
if ($nip) $content.'<br>'; $nip = false;
$content.=$labels['LBL_PDF_CONTENT_ILN'].' '.$focus->shipping_iln;
}
$content.='
</td>
<td valign="top" style="width: ' . $w2 . '%"></td>
<td colspan="0" valign="top" style="text-align: right">
</td>
</tr>';
$content.='
</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><table width="100%" style="font-size: 7pt;text-align:right;vertical-align:top;">
<tr><td width="44%" style="text-align: left">'.$labels['LBL_PDF_CONTENT_REGISTER_DATE'].' <b>' . $focus->register_date . '</b></td>
<td style="text-align: left;" width="20%"><br><b>' . $focus->sell_date . '</b></td>
<td rowspan="2" style="text-align: right;vertical-align:top;">';
if($focus->wz_name!=''){
$content.=$labels['LBL_PDF_CONTENT_PARENT_DOCUMENT_WZ'].':<br>';
}
if($focus->order_no!=''){
$content.=$labels['LBL_PDF_CONTENT_PARENT_DOCUMENT_NO'].'<br>';
}
$content.=$labels['LBL_STOCK_NAME'].':<br>';
$content.='</td>
<td rowspan="2" style="vertical-align:top;">';
if($focus->wz_name!=''){
$content.='<b>' . $focus->wz_name.'</b><br>';
}
if($focus->order_no!=''){
$content.='<b>' . $focus->order_no.'</b><br>';
}
$content.='<b>' . $focus->stock_name.'</b><br>';
$content.='</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_netto'] = array (
'field' => array (
'price_netto'
),
'label' => 'Cena netto',
'align' => 'right'
);
$columns ['total_netto'] = array (
'field' => array (
'total_netto'
),
'label' => 'Wartość<br>netto',
'align' => 'right'
);
$columns ['ecmvat_name'] = array (
'field' => array (
'ecmvat_name'
),
'label' => 'VAT<br>(%)',
'align' => 'center'
);
$columns ['total_vat'] = array (
'field' => array (
'total_vat'
),
'label' => 'Wartość<br>VAT',
'align' => 'right'
);
$columns ['total_brutto'] = array (
'field' => array (
'total_brutto'
),
'label' => 'Wartość<br>brutto',
'align' => 'right'
);
// set widths
$totals = array ();
$columns ['position'] ['width'] = '5';
$columns ['name'] ['width'] = '41';
$columns ['qty'] ['width'] = '10';
$columns ['price_netto'] ['width'] = '10';
$columns ['total_netto'] ['width'] = '10';
$columns ['ecmvat_name'] ['width'] = '4';
$columns ['total_vat'] ['width'] = '10';
$columns ['total_brutto'] ['width'] = '10';
// 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'] . '%;background-color: #E9E9E9;">' . $col ['label'] . '</th>
';
}
$content .= '
</tr></thead><tbody>
';
$counter=1;
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: 300px; margin-left: 60%">
';
$content .= '
<tr>
<td style="font-size: 7pt; border: 0.5 solid black; width: 23%;text-align: center;">
<b>VAT (%)</b>
</td>
<td style="font-size: 7pt; border: 0.5 solid black; width: 25%;text-align: center;">
<b>Wartość netto</b>
</td>
<td style="font-size: 7pt; border: 0.5 solid black; width: 25%;text-align: center;">
<b>Wartość VAT</b>
</td>
<td style="font-size: 7pt; border: 0.5 solid black; width: 27%;text-align: center;">
<b>Wartość brutto</b>
</td>';
$content.='</tr>
';
$vats = explode(",", $focus->vats_summary);
foreach ($vats as $v){
if($v=='')continue;
$v2 = explode(":", $v);
$content .= '
<tr>
<td style="font-size: 7pt; border: 0.5 solid black; width: 23%;text-align: center;">
'.$v2[0].'
</td>
<td style="font-size: 7pt; border: 0.5 solid black; width: 25%;text-align: right;">
'.format_number($v2[1]).'
</td>
<td style="font-size: 7pt; border: 0.5 solid black; width: 25%;text-align: right;">
'.format_number($v2[2]).'
</td>
<td style="font-size: 7pt; border: 0.5 solid black; width: 27%;text-align: right;">
'.format_number($v2[3]).'
</td></tr>';
}
// totals
$content .= '
<tr>
<td style="font-size: 7pt; border: 0.5 solid black; width: 23%;text-align: center;background-color: #E9E9E9;">
<b>Razem</b>
</td>
<td style="font-size: 7pt; border: 0.5 solid black; width: 25%;text-align: right;background-color: #E9E9E9;">
<b>'.format_number($focus->total_netto).'</b>
</td>
<td style="font-size: 7pt; border: 0.5 solid black; width: 25%;text-align: right;background-color: #E9E9E9;">
<b>'.format_number($focus->total_vat).'</b>
</td>
<td style="font-size: 7pt; border: 0.5 solid black; width: 27%;text-align: right;background-color: #E9E9E9;">
<b>'.format_number($focus->total_brutto).'</b>
</td></tr>';
$content .= '
</table>
<br><p style="font-size: 7pt;">'.$labels['LBL_PDF_CONTENT_ISSUED_BY'].' <b>'.$user->full_name.'</b></p>
' . $focus->pdf_text . '
';
//echo $content; die();

View File

@@ -0,0 +1,98 @@
<?php
$w = "62"; //first column width
$w2 = "12"; //second column width
//get bank information
$a = new Account();
$a->retrieve($focus->parent_id);
if ($a->document_bank_account == 'mbank') {
$ba_number = 'PL96114010100000548212001002';
$ba_name = 'MBANK';
$ba_swift = 'BREXPLPW';
} else {
$ba_number = 'PL36116022020000000064080587';
$ba_name = 'BANK MILLENIUM';
$ba_swift = 'BIGBPLPW';
}
unset($a);
$footer = '
<hr>
<table style="width: 100%; font-size: 7pt;">
<tr>
<td style="width: '.$w.'%">
e5 Polska Sp. z o.o
</td>
<td style="width: '.$w2.'%">
<b>'.$labels['LBL_PDF_FOOTER_KRS'].'</b>
</td>
<td style="text-align: right">
28207
</td>
</tr>
<tr>
<td style="width: '.$w.'%">
ul. Wąwozowa 11
</td>
<td style="width: '.$w2.'%">
<b>'.$labels['LBL_PDF_FOOTER_NIP'].'</b>
</td>
<td style="text-align: right">
PL 525-21-73-990
</td>
</tr>
<tr>
<td style="width: '.$w.'%">
02-796 Warszawa
</td>
<td style="width: '.$w2.'%">
<b>'.$labels['LBL_PDF_FOOTER_REGON'].'</b>
</td>
<td style="text-align: right">
016280234
</td>
</tr>
<tr>
<td style="width: '.$w.'%">
Tel: +48 (22) 228 20 90
</td>
<td style="width: '.$w2.'%">
<b>'.$labels['LBL_PDF_FOOTER_BANK'].'</b>
</td>
<td style="text-align: right">
'.$ba_name.'
</td>
</tr>
<tr>
<td style="width: '.$w.'%">
Fax: +48 (56) 674 60 47
</td>
<td style="width: '.$w2.'%">
<b>'.$labels['LBL_PDF_FOOTER_BANK_ACCOUNT'].'</b>
</td>
<td style="text-align: right">
'.$ba_number.'
</td>
</tr>
<tr>
<td style="width: '.$w.'%">
'.$user->email1.'
</td>
<td style="width: '.$w2.'%">
<b>'.$labels['LBL_PDF_FOOTER_SWIFT'].'</b>
</td>
<td style="text-align: right">
'.$ba_swift.'
</td>
</tr>
</table>
<br>
<table style="width: 100%; font-size: 7pt;">
<tr>
<td style="width: 50%;">
{PAGENO}/{nb}
</td>
<td style="width: 50%; text-align: right">
<b>'.$focus->document_no.'</b>
</td>
</tr>
</table>
';

View File

@@ -0,0 +1,96 @@
<?php
$w = "62"; //first column width
$w2 = "12"; //second column width
//get bank information
$a = new Account();
$a->retrieve($focus->parent_id);
if ($a->document_bank_account == 'mbank') {
$ba_number = '26 1140 1010 0000 5482 1200 1001';
$ba_name = 'MBANK';
} else {
$ba_number = '35 1160 2202 0000 0000 6408 0411';
$ba_name = 'BANK MILLENIUM';
}
unset($a);
$footer = '
<hr>
<table style="width: 100%; font-size: 7pt;">
<tr>
<td style="width: '.$w.'%">
e5 Polska Sp. z o.o
</td>
<td style="width: '.$w2.'%">
<b>'.$labels['LBL_PDF_FOOTER_KRS'].'</b>
</td>
<td style="text-align: right">
28207
</td>
</tr>
<tr>
<td style="width: '.$w.'%">
ul. Wąwozowa 11
</td>
<td style="width: '.$w2.'%">
<b>'.$labels['LBL_PDF_FOOTER_NIP'].'</b>
</td>
<td style="text-align: right">
PL 525-21-73-990
</td>
</tr>
<tr>
<td style="width: '.$w.'%">
02-796 Warszawa
</td>
<td style="width: '.$w2.'%">
<b>'.$labels['LBL_PDF_FOOTER_REGON'].'</b>
</td>
<td style="text-align: right">
016280234
</td>
</tr>
<tr>
<td style="width: '.$w.'%">
Tel: +48 (22) 228 20 90
</td>
<td style="width: '.$w2.'%">
<b>'.$labels['LBL_PDF_FOOTER_BANK'].'</b>
</td>
<td style="text-align: right">
'.$ba_name.'
</td>
</tr>
<tr>
<td style="width: '.$w.'%">
Fax: +48 (56) 674 60 47
</td>
<td style="width: '.$w2.'%">
<b>'.$labels['LBL_PDF_FOOTER_BANK_ACCOUNT'].'</b>
</td>
<td style="text-align: right">
'.$ba_number.'
</td>
</tr>
<tr>
<td style="width: '.$w.'%">
'.$user->email1.'
</td>
<td style="width: '.$w2.'%">
<b>'.$labels['LBL_PDF_FOOTER_GIOS'].'</b>
</td>
<td style="text-align: right">
E0006254W
</td>
</tr>
</table>
<br>
<table style="width: 100%; font-size: 7pt;">
<tr>
<td style="width: 50%;">
{PAGENO}/{nb}
</td>
<td style="width: 50%; text-align: right">
<b>'.$focus->document_no.'</b>
</td>
</tr>
</table>
';

View File

@@ -0,0 +1,12 @@
<?php
$header = '
<table style="font-size: 7pt; width: 100%"><tr>
<td>
<img style="width: 150px;" src="modules/EcmSales/PDFTemplate/logo.png"/>
</td>
<td style="text-align: right; vertical-align: bottom;">
www.e5.pl
</td>
</tr></table>
<hr>
';

View File

@@ -0,0 +1,23 @@
<?php
function formatPDFPositions($positions, $focus) {
$result = array();
foreach ($positions as $pos) {
$pos['position'] = intval($pos['position'])+1;
$pos['quantity'] = number_format($pos['quantity'],0);
$result[] = $pos;
}
return $result;
}
function mysql_escape_gpc($dirty)
{
if (ini_get('magic_quotes_gpc'))
{
return $dirty;
}
else
{
return mysql_real_escape_string($dirty);
}
}

View 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/EcmStockDocOuts/EcmStockDocOut.php");
require_once ('include/formbase.php');
$focus = new EcmStockDocOut ();
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=EcmStockDocOuts&action=createPDF&to_pdf=1&pdf_type=\'+$(\'#pdf_type\').val()+\'&record=' . $return_id . '\',\'_blank\'););
</script>
';
handleRedirect ( $return_id, 'EcmStockDocOuts' );
?>

View File

@@ -0,0 +1,69 @@
<?php
include_once("modules/EcmStockDocOuts/PDFTemplate/helper.php");
if ($_REQUEST['action'] == 'createPDF'){
createPDF($_REQUEST['record'],'I');
}
function createPDF($record,$output,$filename = null){
$focus = new EcmStockDocOut();
$focus -> retrieve($record);
if($filename==null){
$filename = str_replace(" ","_", str_replace("/", "_", $focus->document_no));
}
$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;
//get languages
$labels = return_module_language($focus->ecmlanguage, 'EcmStockDocOuts');
$db = $GLOBALS ['db'];
// document pdf
// document already exist?
$header = '';
include("modules/EcmStockDocOuts/PDFTemplate/header.php");
// create and save document
$positions = formatPDFPositions($focus->getPositionList(true), $focus);
// get header
$content = '';
include("modules/EcmStockDocOuts/PDFTemplate/footer-".$focus->ecmlanguage.".php");
//get content
$content = '';
include("modules/EcmStockDocOuts/PDFTemplate/content.php");
//get header
//echo $header."<br>";
$p->SetHTMLHeader($header);
//get footer
$p->SetHTMLFooter($footer);
//get content
//$p->WriteHTML($style);
$p->WriteHTML($content);
//draw PDF
$p->Output ($filename, $output);
}

View File

@@ -0,0 +1,59 @@
<?php
if (! $_REQUEST ['record'] || $_REQUEST ['record'] == '')
die ( 'Brak rekordu' );
else
$record = $_REQUEST ['record'];
include_once ("modules/EcmInvoiceOuts/PDFTemplate/helper.php");
$focus = new EcmStockDocOut ();
$focus->retrieve ( $record );
$user = new User ();
$user->retrieve ( $focus->assigned_user_id );
$labels = return_module_language($focus->ecmlanguage, 'EcmInvoiceOuts');
include_once ("include/MPDF57/mpdf.php");
$p = new mPDF ( '', 'A4', null, 'helvetica', 10, 10, 30, 45, 5, 5 );
$mpdf->mirrorMargins = 1;
$db = $GLOBALS ['db'];
// document pdf
// document already exist?
/*
$res = $db->query ( "SELECT footer, content FROM ecminvoiceout_pdf WHERE id='$record'" );
if ($res->num_rows == 0) {
*/
// create and save document
$positions = formatPDFPositions ( $focus->getPositionList ( true ), $focus );
// get header
$header = '';
include_once ("modules/EcmStockDocOuts/PDFTemplate/header.php");
$content = '';
include_once ("modules/EcmStockDocOuts/PDFTemplate/content2.php");
global $current_user;
/*
$db->query ( "INSERT INTO ecminvoiceout_pdf VALUES ('$record','$current_user->id', NOW(),'" . urlencode ( $header ) . "', '" . urlencode( $content ) . "')" );
} else {
$row = $db->fetchByAssoc ( $res );
$header = urldecode ( $row ['footer'] ); // punk rock!
$content = urldecode ( $row ['content'] );
}*/
//var_dump($positions);
$p->SetHTMLHeader ( $header );
$footer='<hr><table style="font-size: 8pt; width: 100%;vertical-align:top;">
<tr><td width="25%">Saas SystemS Sp. z o.o.<br />
ul. Lipnowska 21-23<br />
87-400 Toruń<br />
NIP: 9562307719</td><td width="25%"></td><td width="20%">Bank: <br>Numer konta:</td><td>PKO BP<br> 53 1020 5011 0000 9002 0270 6323</td></tr></table>';
$p->SetHTMLFooter($footer);
$p->WriteHTML ( $content );
// draw PDF
$p->Output ();

View File

@@ -0,0 +1,227 @@
<?php
// compare tables
echo "<pre>";
$db = $GLOBALS['db'];
global $app_list_strings;
$query=$db->query("describe ecmstockdocoutitems");
$fields=array();
while($r = $db->fetchByAssoc($query)){
$fields[]=$r;
}
var_dump($fields);
$query2=$db->query("describe ecmstockdocoutitems");
$fields2=array();
while($r = $db->fetchByAssoc($query2)){
$fields2[]=$r;
}
echo "<table><tr><td>Nazwa pola1</td><td>Nazwa pola2</td>";
for($i=0;$i<count($fields);$i++){
echo "<tr><td>".$fields[$i]['Field']."</td><td>".$fields2[$i]['Field']."</td></tr>";
}
echo "</table>";
// dodawanie itemkow
/*
$db = $GLOBALS['db'];
$query=$db->query("describe ecmstockdocouts");
$fields=array();
while($r = $db->fetchByAssoc($query)){
$fields[]=$r;
}
// var_dump($fields);
$query2=$db->query("describe ecmstockdocouts");
$fields2=array();
while($r = $db->fetchByAssoc($query2)){
$fields2[]=$r;
}
echo "<table><tr><td>Nazwa pola1</td><td>Nazwa pola2</td>";
for($i=0;$i<count($fields2);$i++){
echo "<tr><td>".$fields[$i]['Field']."</td><td>".$fields2[$i]['Field']."</td></tr>";
}
echo "</table>";
*/
$l=$db->query("select * from ecmstockdocouts order by date_entered desc");
$l2=$db->query("describe ecmstockdocouts");
$pola2=array();
$rekord;
while($daj2=$db->fetchByAssoc($l2)){
$pola2[]=$daj2['Field'];
}
while($daj=$db->fetchByAssoc($l)){
$rekord=$daj['id'];
$pola=array();
$wartosci=array();
foreach ($daj as $pole=>$wartosc){
if($pole=='so_id'){
$pole='ecmsale_id';
}
if(in_array($pole,$pola2)==false)continue;
$pola[]=$pole;
$wartosci[]=$wartosc;
}
if($daj['so_id']!=''){
$sh=$db->query("select shipping_address_name,
shipping_address_street,
shipping_address_city,
shipping_address_postalcode,
shipping_address_country,
shipping_nip,
delivery_date,
document_no as ecmsale_document_no,
shipping_iln from ecmsales where id='".$daj['so_id']."'");
while($sh2=$db->fetchByAssoc($sh)){
foreach ($sh2 as $pole=>$wartosc){
$pola[]=$pole;
$wartosci[]=$wartosc;
}
}
}
$pola[]='parent_nip';
$wartosci[]=$daj['to_vatid'];
//itemki start
$zap=$db->query("select * from ecmstockdocoutitems where ecmstockdocout_id='".$daj['id']."'");
$l22=$db->query("describe ecmstockdocoutitems");
$pos=0;
$pola22=array();
while($daj22=$db->fetchByAssoc($l22)){
$pola22[]=$daj22['Field'];
}
while($item=$db->fetchByAssoc($zap)){
$pola12=array();
$wartosci12=array();
$s2h=$db->query("select unit_id,ean,ean2 from ecmproducts where id='".$item['ecmproduct_id']."'");
$s2h2=$db->fetchByAssoc($s2h);
foreach ($item as $field=>$val){
if($field=='ecmstockdocout_id')$field='ecmstockdocout_id';
if($field=='selling_price'){
$field='price_sell';
}
if($field=='total'){
$field='total_sell';
}
if($field=='position'){
$val=$pos;
}
if($field=='recipient_code'){
$field='supplier_code';
}
if(in_array($field,$pola22)==false)continue;
if($field=='dd_unit_id'){
$val=$s2h2['unit_id'];
}
if($field=='dd_unit_name'){
$val=$app_list_strings['ecmproducts_unit_dom'][$s2h2['unit_id']];
}
$pola12[]=$field;
$wartosci12[]=$val;
}
$pola12[]='ean';
$wartosci12[]=$s2h2['ean'];
$pola12[]='total';
$wartosci12[]=$item['price']*$item['quantity'];
$pola12[]='ean2';
$wartosci12[]=$s2h2['ean2'];
$pos++;
$db->query("INSERT INTO `ecmstockdocoutitems` (".implode(",",$pola12).") VALUES ('".implode("','",$wartosci12)."')");
}
//itemki end
$db->query("INSERT INTO `ecmstockdocouts` (".implode(",",$pola).") VALUES ('".implode("','",$wartosci)."')");
$r = $db->fetchByAssoc($db->query("SELECT sum(total) as sum FROM ecmstockdocoutitems WHERE ecmstockdocout_id='".$rekord."' and deleted='0'"));
$db->query("UPDATE ecmstockdocouts SET total='".$r['sum']."' WHERE id='".$rekord."'");
$r = $db->fetchByAssoc($db->query("SELECT sum(total_sell) as sum FROM ecmstockdocoutitems WHERE ecmstockdocout_id='".$rekord."' and deleted='0'"));
$db->query("UPDATE ecmstockdocouts SET total_sell='".$r['sum']."' WHERE id='".$rekord."'");
}
/*
$query2=$db->query("select * from ecmpurchaseorders");
$fields2=array();
$po = new EcmPurchaseOrder();
echo "<pre>";
while($r = $db->fetchByAssoc($query2)){
$po->retrieve($r['id']);
// echo $r['id'];
$position_list=$po->getPositionList(true);
$vat=$po->calculate($position_list);
$vats_summary='';
foreach($vat as $key=>$v){
if($key=='vats'){
foreach($v as $k2=>$v2){
$vv=$GLOBALS['db']->fetchByAssoc($GLOBALS['db']->query("select name from ecmvats where id='".$k2."'"));
$vats_summary.=$vv['name'].':'.$v2.',';
}
}
if($key=='total'){
$r['total']=$v;
}
if($key=='subtotal'){
$r['subtotal']=$v;
}
}
// var_dump($vat);
if($r['end_date']=='')$r['end_date']=null;
$db->query("INSERT INTO ecmnewpurchaseorders VALUES(
'".$r['id']."'
,'".$r['name']."'
,'".$r['description']."'
,'".$r['date_entered']."'
,'".$r['modified_user_id']."'
,'".$r['date_modified']."'
,'".$r['assigned_user_id']."'
,'".$r['created_by']."'
,'".$r['deleted']."'
,'".$r['number']."'
,'".$r['document_no']."'
,'".$r['register_date']."'
,'".$r['subtotal']."'
,'".$r['ads_text']."'
,'".$r['total']."'
,'".$r['parent_name']."'
,'".$r['parent_address_street']."'
,'".$r['parent_address_city']."'
,'".$r['parent_address_postalcode']."'
,'".$r['parent_address_country']."'
,'".$r['parent_name']."'
,'".$r['parent_id']."'
,'".$r['end_date']."'
,'".$r['employers']."'
,'".$r['currency_id']."'
,'".$r['to_is_vat_free']."'
,'null'
,'".$r['contact_id']."'
,'".$r['delivery_date']."'
,'".$r['parent_contact_name']."'
,'".$r['parent_contact_title']."'
,'".$vats_summary."'
,'".$r['status']."')");
}
?>

View File

@@ -0,0 +1 @@
<?php require_once('modules/EcmStockDocOuts/javascript/helper.php');

View File

@@ -0,0 +1,112 @@
//START:
$(document).ready(
function() {
var checkgen;
// confirm exit
window.onbeforeunload = confirmExit;
// prevent submit by enter press
lockEnter();
// categories
getCategoriesList();
$('#parent_id').on('inputchange',
function() {
$(".loading_panel").css("display", "block");
setTimeout(function() {
getParentInfo($("#parent_id").val(), 'Accounts');
}, 1000);
});
// 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();
$(".loading_panel").css("display", "none");
if (($("#new_number").val() == true)
&& ($("#duplicate").val() != true)&& ($("#ecmsale").val() != true)) {
checkgen=1;
} else if (($("#new_number").val() == true)
&& ($("#duplicate").val() == true)) {
checkgen=1;
getItems();
} else if (($("#new_number").val() == true)
&& ($("#ecmsale").val() == true)) {
checkgen=1;
getParentInfo($("#parent_id").val(),'Accounts');
getItemsFromEcmSale();
} else {
checkgen=0;
}
//console.log(checkProducts());
//if (checkProducts()==false)
//alert("Nie ma produktów na stanie");
if(checkgen==1){
generateDocNumberStock();
}
// 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;
}
$(".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;
}
});
}

View File

@@ -0,0 +1,7 @@
//START:
$(document).ready(
function() {
DrawHeaders();
getItems(false);
});

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,128 @@
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();'};
//end: quantity
//begin: unit
columns[4] = {
'name' : 'unit_',
'label' : 'J.M.',
'width' : 5,
'content' : new Array(),
'align' : 'center',
'precision' : 0,
};
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_sell',
'label' : 'Cena sprzedaży',
'width' : 5,
'content' : new Array(),
'align' : 'right',
};
columns[5]['content'][0] = {'name' : '', 'type': 'text', 'isNumber' : true};
//end: price
//begin: total
columns[6] = {
'name' : 'total_sell',
'label' : 'Wartość',
'width' : 5,
'content' : new Array(),
'align' : 'right',
};
columns[6]['content'][0] = {'name' : '', 'type': 'text', 'isNumber' : true};
//end: total
columns[7] = {
'name' : 'ean',
'label' : 'Ean',
'width' : 5,
'content' : new Array(),
'align' : 'right',
};
columns[7]['content'][0] = {'name' : '', 'type': 'text'};
columns[8] = {
'name' : 'supplier_code',
'label' : 'Kod odbiorcy',
'width' : 5,
'content' : new Array(),
'align' : 'right',
};
columns[8]['content'][0] = {'name' : '', 'type': 'text'};
columns[9] = {
'name' : 'product_',
'label' : 'Sztuk w kartonie',
'width' : 4,
'content' : new Array(),
'align' : 'right',
};
columns[9]['content'][0] = {
'name' : 'pieces_per_carton',
'type': 'text',
'isNumber' : true,
'onChange' : 'calculateRow($(this).parent(\'td\').parent(\'tr\').index());'
};
columns[10] = {
'name' : 'product_',
'label' : 'Ilość kartonów',
'width' : 4,
'content' : new Array(),
'align' : 'right',
};
columns[10]['content'][0] = {
'name' : 'cartons',
'type': 'text',
'isNumber' : true,
'readonly' : true
};
columns[11] = {
'name' : 'part_no',
'label' : 'Numer partii',
'width' : 5,
'content' : new Array(),
'align' : 'right',
};
columns[11]['content'][0] = {
'name' : '',
'type': 'text',
'onChange' : 'updatePartNo($(this).parent(\'td\').parent(\'tr\').index());'
};

View File

@@ -0,0 +1,184 @@
columns = new Array();
// define columns
// begin: number
columns[0] = {
'name' : 'number',
'label' : 'Lp.',
'width' : 2,
'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'][4] = {
'name' : 'ean',
'type' : 'hidden'
};
columns[1]['content'][5] = {
'name' : 'supplier_code',
'type' : 'hidden'
};
// end: code
// begin: name
columns[2] = {
'name' : 'name',
'label' : 'Nazwa',
'width' : 17,
'content' : new Array(),
};
columns[2]['content'][0] = {
'name' : '',
'type' : 'text'
};
// end: name
// begin: quantity
columns[3] = {
'name' : 'quantity',
'label' : 'Ilość',
'width' : 3,
'content' : new Array(),
'align' : 'right',
};
columns[3]['content'][0] = {
'name' : '',
'type' : 'text',
'isNumber' : true,
'onChange' : 'calculateRow($(this).parent(\'td\').parent(\'tr\').index());'
};
// end: quantity
// begin: unit
columns[4] = {
'name' : 'unit_',
'label' : 'J.M.',
'width' : 3,
'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: stock_state
columns[5] = {
'name' : 'stock_state',
'label' : 'Stan',
'width' : 3,
'content' : new Array(),
'align' : 'right',
};
columns[5]['content'][0] = {
'name' : '',
'type' : 'text',
'isNumber' : true
};
// end: stock_state
// begin: price
columns[6] = {
'name' : 'price_',
'label' : 'Cena sprzedaży',
'width' : 3,
'content' : new Array(),
'align' : 'right',
};
columns[6]['content'][0] = {
'name' : 'sell',
'type' : 'text',
'isNumber' : true,
'onChange' : 'calculateRow($(this).parent(\'td\').parent(\'tr\').index());'
};
columns[6]['content'][1] = {
'name' : 'total_sell',
'type' : 'hidden',
'isNumber' : true
};
columns[7] = {
'name' : 'product_supplier_code',
'label' : 'Kod odbiorcy',
'width' : 5,
'content' : new Array(),
'align' : 'right',
};
columns[7]['content'][0] = {
'name' : '',
'type' : 'text'
};
columns[8] = {
'name' : 'product_',
'label' : 'Sztuk w kartonie',
'width' : 4,
'content' : new Array(),
'align' : 'right',
};
columns[8]['content'][0] = {
'name' : 'pieces_per_carton',
'type': 'text',
'isNumber' : true,
'onChange' : 'calculateRow($(this).parent(\'td\').parent(\'tr\').index());'
};
columns[9] = {
'name' : 'product_',
'label' : 'Ilość kartonów',
'width' : 4,
'content' : new Array(),
'align' : 'right',
};
columns[9]['content'][0] = {
'name' : 'cartons',
'type': 'text',
'isNumber' : true,
'readonly' : true
};
columns[10] = {
'name' : 'part_no',
'label' : 'Numer partii',
'width' : 5,
'content' : new Array(),
'align' : 'right',
};
columns[10]['content'][0] = {
'name' : '',
'type': 'text',
'onChange' : 'updatePartNo($(this).parent(\'td\').parent(\'tr\').index());'
};
// begin: options
columns[11] = {
'name' : 'options',
'label' : 'Opcje',
'width' : 3,
'content' : new Array(),
};

View File

@@ -0,0 +1,338 @@
<?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 'generateDocNumberStock': generateDocNumberStock($_POST['stock_id']); 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 'getItemsFromEcmSale': getItemsFromEcmSale($_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;
}
function getParentInfo($id, $type) {
if (!$id || $id == '') die('-1');
$a = new Account();
$a->retrieve($id);
$data = array();
$data['name'] = $a->name;
$data['parent_nip'] = $a->to_vatid;
$data['parent_address_street'] = $a->billing_address_street;
$data['parent_address_postalcode'] = $a->billing_address_postalcode;
$data['parent_address_city'] = $a->billing_address_city;
$data['parent_address_country'] = $a->billing_address_country;
$data['parent_iln'] = $a->iln;
$data['parent_supplier_code']=$a->supplier_code;
$data['invoice_type'] = $a->invoice_type;
$data['currency_id'] = $a->currency_id;
$data['iln'] = $a->iln;
if ($a->ecmpaymentcondition_id && $a->ecmpaymentcondition_id!='') {
$pc = new EcmPaymentCondition();
$pc->retrieve($a->ecmpaymentcondition_id);
$data['ecmpaymentcondition_id'] = $pc->id;
$data['ecmpaymentcondition_name'] = $pc->name;
}
if ($a->ecmdeliverycondition_id && $a->ecmdeliverycondition_id!='') {
$pc = new EcmdeliveryCondition();
$pc->retrieve($a->ecmdeliverycondition_id);
$data['ecmdeliverycondition_id'] = $pc->id;
$data['ecmdeliverycondition_name'] = $pc->name;
}
if ($a->ecmprice_id && $a->ecmprice_id!='') {
$pr = new EcmPrice();
$pr->retrieve($a->ecmprice_id);
$data['ecmprice_id'] = $pr->id;
$data['ecmprice_name'] = $pr->name;
}
//get pricebooks, ownership pricebooks
$pricebooks = array();
$db=$GLOBALS['db'];
$res = $db->query("SELECT id, name FROM ecmpricebooks WHERE account_id IN ('".$a->id."','".$a->parent_id."') AND active='1' AND deleted='0'");
while ($row = $db->fetchByAssoc($res)) {
$tmp = array();
$tmp['id'] = $row['id'];
$tmp['name'] = $row['name'];
$pricebooks[] = $tmp;
unset($tmp);
}
$data['pricebooks'] = $pricebooks;
//document validation fields
$data['document_recipient_code'] = $a->document_recipient_code;
$data['document_parent_order_no'] = $a->document_parent_order_no;
$data['document_delivery_address'] = $a->document_delivery_address;
$data['document_parent_iln'] = $a->document_parent_iln;
$data['document_shipping_iln'] = $a->document_shipping_iln;
$data['document_parent_nip'] = $a->document_parent_nip;
$data['document_shipping_nip'] = $a->document_shipping_nip;
//delivery addresses && ownership addresses
$addresses = array();
//delivery
$delivery = $a->getPositionList(true);
foreach ($delivery as $d) {
$address = array();
$address['name'] = $d['name'];
$address['street'] = $d['street'];
$address['postalcode'] = $d['postalcode'];
$address['city'] = $d['city'];
$address['country'] = $d['country'];
$addresses[] = $address;
unset($address);
}
//ownership
$res = $db->query("SELECT name, shipping_address_street, shipping_address_postalcode, shipping_address_city, shipping_address_country, iln, to_vatid,supplier_code FROM accounts WHERE parent_id='$a->id'");
while ($r = $db->fetchByAssoc($res)) {
$address = array();
$address['name'] = $r['name'];
$address['street'] = $r['shipping_address_street'];
$address['postalcode'] = $r['shipping_address_postalcode'];
$address['city'] = $r['shipping_address_city'];
$address['country'] = $r['shipping_address_country'];
$address['iln'] = $r['iln'];
$address['nip'] = $r['to_vatid'];
$address['supplier_code']=$r['supplier_code'];
$addresses[] = $address;
unset($address);
}
$data['addresses'] = $addresses;
unset($addresses);
echo json_encode($data);
unset($data);
unset($a);
unset($res);
return;
}
function generateDocNumberStock($stock_id) {
$data = array();
$data['number'] = EcmStockDocOut::generateNumber($stock_id);
$data['document_no'] = EcmStockDocOut::generateDocNumberStock($stock_id);
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,p.ean, p.pieces_per_carton 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 getItemsFromEcmSale($record) {
$s = new EcmSale();
$s->retrieve($record);
$pl = $s->getPositionList(true);
$db = $GLOBALS['db'];
foreach($pl as &$p) {
$c = $db->fetchByAssoc($db->query("SELECT pieces_per_carton FROM ecmproducts WHERE id='".$p['product_id']."' AND deleted=0"));
$p['product_pieces_per_carton'] = intval($c['pieces_per_carton']);
$p['product_cartons'] = ceil(intval($p['quantity']) / $p['product_pieces_per_carton']);
}
unset($s);
echo json_encode($pl);
return;
}
function getItems($record) {
$mm = new EcmStockDocOut();
$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'];
$tmp['module']='EcmPrices';
$tmp['visible']='1';
$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'] = '<a href="index.php?module=EcmInvoiceOuts&action=DetailView&record='.$res['id'].'">'.$res['document_no'].'</a>';
$tmp['price'] = $res['subprice'];
$tmp['module']='EcmInvoiceOuts';
$tmp['visible']='1';
$result[] = $tmp;
}
}
//get from ecmstockdocins
$res = $db->query("SELECT ii.price, i.id, i.document_no,ii.quantity,i.register_date FROM ecmstockdocinitems AS ii
INNER JOIN ecmstockdocins AS i
ON ii.ecmstockdocin_id=i.id
WHERE ii.ecmproduct_id='$product_id'
AND ii.deleted='0'
AND i.deleted='0'
ORDER BY i.register_date DESC");
while ($row = $db->fetchByAssoc($res)) {
$tmp = array();
$tmp['name'] = '<a href="index.php?module=EcmStockDocIns&action=DetailView&record='.$row['id'].'">'.$row['document_no'].'</a>';
$tmp['price'] = $row['price'];
$tmp['module']='EcmStockDocIns';
$tmp['quantity']=$row['quantity'];
$tmp['register_date']=$row['register_date'];
$tmp['visible']='0';
$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;
}

View 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'
)
;
?>

View 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 (%)',
);
?>

View File

@@ -0,0 +1,460 @@
<?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_SHIPPING_ADDRESS' => 'Adres dostawy',
'LBL_SHIPPING_ADDRESS_NAME' => 'Nazwa',
'LBL_PARENT_ILN' => 'Numer ILN',
'LBL_PARENT_NIP' => 'NIP',
'LBL_ORDER_NO' => 'Nr zamówienia',
'LBL_ORDER_QTY' => 'Ilość',
'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_PDF_CONTENT_INVOICE_FOR'=>'NABYWCA',
'LBL_PRICEBOOK' => 'Cennik',
'LBL_EDITTABLE_RECIPIENT_CODE' => 'Kod Odbiorcy',
// added 05.08.2009
'LBL_CURRENCY' => 'Waluta',
'LBL_DETAIL_BUTTON' => 'Szczegóły',
'LNK_ECMSTOCKDOCOUTS_LIST'=>'Lista Dokumentów WZ',
'LNK_NEW_ECMSTOCKDOCOUT'=>'Utwórz Dokument WZ',
// added 15.07.2009
'LBL_EDITTABLE_UNIT' => 'J.m.',
// added 09.02.2009
'LBL_SHOW_IMAGES_ON_OFFERS' => 'Pokaż obrazki w PDFie',
'LBL_SHOW_RECIPIENT_CODE' => 'Pokaż kod odbiorcy',
'LBL_NIP'=>'NIP',
'LBL_PARENT_ILN'=>"ILN",
'LBL_TO_SHIPPING'=>'Informacje o adresie dostawy',
'LBL_SUPPLIER_CODE'=>'Kod dostawcy',
// FOR SYSTEM USE
'LBL_MODULE_NAME' => 'WZ',
'LBL_ECMSALES_SUBPANEL_TITLE'=>'Zamówienia sprzedaży',
'LBL_MODULE_TITLE' => 'Dokumenty WZ: Strona Główna',
'LBL_MODULE_ID' => 'EcmStockDocOuts',
'LBL_ECMLANGUAGE'=>'Język',
'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_ECMINVOICEOUTS_SUBPANEL_TITLE'=>'Faktury',
'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_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_DELIVERY_DATE'=>'Data dostawy',
'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' ,
'LBL_PDF_CONTENT_REGISTER_DATE' => 'Data wystawienia:',
'LBL_PDF_CONTENT_ISSUED_BY' => 'Wystawił:',
'LBL_PDF_CONTENT_PARENT_DOCUMENT_NO'=>'Nr zamówienia:',
'LBL_PDF_CONTENT_ORDER_QTY'=>'Ilość:',
'LBL_PDF_DOCUMENT_NO'=>'WZ nr',
'LBL_PDF_CONTENT_DELIVERY'=>'ODBIORCA',
'LBL_PDF_CONTENT_NIP'=>'NIP:',
'LBL_PDF_STOCK'=>'Magazyn:',
// PDF labels
'LBL_PDF_FOOTER_KRS' => 'KRS:',
'LBL_PDF_FOOTER_NIP' => 'NIP:',
'LBL_PDF_FOOTER_REGON' => 'REGON:',
'LBL_PDF_FOOTER_BANK' => 'Bank:',
'LBL_PDF_FOOTER_BANK_ACCOUNT' => 'Number konta:',
'LBL_PDF_FOOTER_GIOS' => 'Numer GIOS:',
'LBL_PDF_CONTENT_SALE_FOR' => 'Zamówienie dla:',
'LBL_PDF_CONTENT_ILN' => 'ILN:',
'LBL_PDF_CONTENT_NIP' => 'NIP:',
'LBL_PDF_CONTENT_PARENT_DOCUMENT_NO' => 'Numer zamówienia klienta:',
'LBL_PDF_CONTENT_REGISTER_DATE' => 'Data wystawienia:',
'LBL_PDF_CONTENT_DELIVERY_DATE' => 'Data dostawy:',
'LBL_PDF_CONTENT_ISSUED_BY' => 'Wystawił:',
'LBL_PDF_CONTENT_DELIVERY' => 'Dostawa do:',
'LBL_PDF_CONTENT_NUMBER' => 'Dokument WZ numer:',
'LBL_PDF_CONTENT_LIST_POSITION' => 'Lp.',
'LBL_PDF_CONTENT_LIST_IMAGE' => 'Zdjęcie',
'LBL_PDF_CONTENT_LIST_NAME' => 'Nazwa',
'LBL_PDF_CONTENT_LIST_CODE' => 'Indeks',
'LBL_PDF_CONTENT_LIST_QTY' => 'Ilość',
'LBL_PDF_CONTENT_LIST_UNIT' => 'j.m.',
'LBL_PDF_CONTENT_LIST_EAN' => 'Ean',
'LBL_PDF_CONTENT_LIST_EAN2' => 'Ean 2',
'LBL_PDF_CONTENT_LIST_RECIPIENT_CODE' => 'Kod odbiorcy',
'LBL_PDF_CONTENT_LIST_PRICE_START' => 'Cena początkowa',
'LBL_PDF_CONTENT_LIST_PRICE_NETTO' => 'Cena netto',
'LBL_PDF_CONTENT_LIST_DISCOUNT' => 'Rabat',
'LBL_PDF_CONTENT_LIST_TOTAL_NETTO' => 'Wartość netto',
'LBL_PDF_CONTENT_TOTAL_NETTO' => 'Suma netto',
'LBL_PDF_CONTENT_TOTAL_BRUTTO' => 'Suma brutto',
'LBL_PDF_ZS_NAME'=>'Nr zamówienia e5:',
'LBL_PDF_DELIVERY_DATE'=>'Data dostawy:',
'LBL_PDF_ORDER_QTY'=>'Ilość:',
);
?>

View 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['EcmStockDocOuts'] = 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' ),
);
?>

View File

@@ -0,0 +1,314 @@
<?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 ['EcmStockDocOuts'] ['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=\'EcmStockDocInsideOuts\'; 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}'
),
array (
'customCode' => '{$CREATE_PDF2}'
),
),
'hidden' => array (
'<input type="hidden" id="doc_total" value=\'{$fields.total_sell.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/EcmStockDocOuts/javascript/EcmStockDocOutsDetail.js'
),
array (
'file' => 'modules/EcmStockDocOuts/javascript/helper.js'
),
array (
'file' => 'modules/EcmStockDocOuts/javascript/bimit_table.js'
),
array (
'file' => 'modules/EcmStockDocOuts/javascript/columndefs-detail.js'
)
)
),
'panels' => array (
'LBL_DETAILS_TAB' => array (
array (
'document_no',
'assigned_user_name'
),
array (
'name',
'stock_name'
),
array (
'parent_name',
'register_date',
),
array (
'parent_order_no',
'order_qty',
),
array (
'delivery_date',
),
array (
array (
'name' => 'zs_no',
'label' => 'Dokument ZS',
'customCode'=>'{$zs_no}'
),
array (
'name' => 'fv_no',
'label' => 'Faktura',
'customCode'=>'{$fv_no}'
),
),
array (
array (
'name' => 'to_informations',
'allCols' => true,
'hideLabel' => true,
'customCode' => '<br><b>{$MOD.LBL_TO_INFORMATIONS}</b>'
)
),
array (
array (
'name' => 'parent_name_copy',
'customCode' => '{$fields.parent_name.value}'
),
),
array (
'parent_address_street'
),
array (
array (
'name' => 'parent_address_city',
'tabIndex' => 't',
'customCode' => '{$fields.parent_address_postalcode.value}&nbsp;&nbsp;{$fields.parent_address_city.value}'
)
),
array (
'parent_address_country'
),
array (
array (
'name' => 'parent_nip',
'customCode' => '{$fields.parent_nip.value}'
)
),
array (
array (
'name' => 'parent_iln',
'customCode' => '{$fields.parent_iln.value}'
)
),
array (
array (
'name' => 'parent_supplier_code',
'customCode' => '{$fields.parent_supplier_code.value}'
)
),
//dostawa st
array (
array (
'name' => 'to_informations',
'allCols' => true,
'hideLabel' => true,
'customCode' => '<br><b>{$MOD.LBL_TO_SHIPPING}</b>'
)
),
array (
array (
'name' => 'shipping_address_name',
'customCode' => '{$fields.shipping_address_name.value}'
),
),
array (
'shipping_address_street'
),
array (
array (
'name' => 'shipping_address_city',
'tabIndex' => 't',
'customCode' => '{$fields.shipping_address_postalcode.value}&nbsp;&nbsp;{$fields.shipping_address_city.value}'
)
),
array (
'shipping_address_country'
),
array (
array (
'name' => 'shipping_nip',
'customCode' => '{$fields.shipping_nip.value}'
)
),
array (
array (
'name' => 'shipping_iln',
'customCode' => '{$fields.shipping_iln.value}'
),
),
//dostawa end
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>'
)
)
)
)
);
?>

View File

@@ -0,0 +1,310 @@
<?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 ['EcmStockDocOuts'] ['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" id="duplicate" name="duplicate" value=\'{$DUPLICATE}\'>',
'<input type="hidden" id="ecmsale" name="ecmsale" value=\'{$ECMSALE}\'>',
'<input type="hidden" id="so_id" name="so_id" value=\'{$ECMSALE_ID}\'>',
'<input type="hidden" id="ecmsale_id" name="ecmsale_id" value=\'{$ECMSALE_ID}\'>',
'<input type="hidden" id="ecmsale_document_no" name="ecmsale_document_no" value=\'{$ECMSALE_DOCUMENT_NO}\'>',
'<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/EcmStockDocOuts/javascript/EcmStockDocOuts.js'
),
array (
'file' => 'modules/EcmStockDocOuts/javascript/bimit_table.js'
),
array (
'file' => 'modules/EcmStockDocOuts/javascript/columndefs.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' => 'parent_name',
'tabIndex' => '1'
),
array (
'name' => 'register_date',
'tabIndex' => '1',
'type' => 'datetime',
'displayParams' => array (
'showFormats' => true
)
),
),
array (
array (
'name' => 'parent_order_no',
'tabIndex' => '1'
),
array (
'name' => 'order_qty',
'tabIndex' => '1'
)
),
array (
array (
'name' => 'delivery_date',
'tabIndex' => '1',
'type' => 'datetime',
'displayParams' => array (
'showFormats' => true
)
),
),
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_TO_INFORMATIONS}</h4>'
)
),
array (
array (
'name' => 'parent_name_copy',
'tabIndex' => '1',
'customCode' => '<input type="text" name="parent_name_copy" id="parent_name_copy" value="{$fields.parent_name.value}" readOnly="readonly" size="30" />'
),
array (
'name' => 'ecmlanguage',
'tabIndex' => '1'
)
),
array (
array (
'name' => 'parent_address_street',
'tabIndex' => '1',
'customCode' => '<textarea tabindex="1" id="parent_address_street" name="parent_address_street" rows="2" cols="30" maxlength="150" >{$fields.parent_address_street.value}</textarea>'
)
),
array (
array (
'name' => 'parent_address_city',
'tabIndex' => '1',
'customCode' => '<input maxlength="8" type="text" name="parent_address_postalcode" id="parent_address_postalcode" value="{$fields.parent_address_postalcode.value}" style="vertical-align:top;width:80px;" />&nbsp;&nbsp;<input type="text" name="parent_address_city" id="parent_address_city" value="{$fields.parent_address_city.value}" style="vertical-align:top;width:150px;" />'
)
),
array (
array (
'name' => 'parent_address_country',
'tabIndex' => '1'
)
),
array (
array (
'name' => 'parent_nip',
'tabIndex' => '1'
)
),
array (
array (
'name' => 'parent_iln',
'tabIndex' => '1'
)
),
array (
array (
'name' => 'parent_supplier_code',
'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_SHIPPING_ADDRESS}</h4>'
)
),
array(
array(
'name' => 'shipping_address',
'customCode' => '&nbsp<div id=\'addresses\'></div>',
), '',
),
array (
array (
'name' => 'shipping_address_name',
'tabIndex' => '1',
'customCode' => '<input type="text" name="shipping_address_name" id="shipping_address_name" value="{$fields.shipping_address_name.value}" size="30" />'
),
),
array (
array (
'name' => 'shipping_address_street',
'tabIndex' => '1',
'customCode' => '<textarea tabindex="1" id="shipping_address_street" name="shipping_address_street" rows="2" cols="30" maxlength="150" >{$fields.shipping_address_street.value}</textarea>'
)
),
array (
array (
'name' => 'shipping_address_city',
'tabIndex' => '1',
'customCode' => '<input maxlength="8" type="text" name="shipping_address_postalcode" id="shipping_address_postalcode" value="{$fields.shipping_address_postalcode.value}" style="vertical-align:top;width:80px;" />&nbsp;&nbsp;<input type="text" name="shipping_address_city" id="shipping_address_city" value="{$fields.shipping_address_city.value}" style="vertical-align:top;width:150px;" />'
)
),
array (
array (
'name' => 'shipping_address_country',
'tabIndex' => '1'
)
),
array (
array (
'name' => 'shipping_nip',
'tabIndex' => '1'
)
),
array (
array (
'name' => 'shipping_iln',
'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}:&nbsp;&nbsp;
<input type="text" value="" id="searchProductsInput"/>
{$MOD.LBL_CATEGORY}:&nbsp;&nbsp;
<select id="productSearchCategory"></select>
{$MOD.LBL_SEARCH_STOCK}:&nbsp;&nbsp;
<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" selected>{$MOD.LBL_SEARCH_STOCK_OPT_NOT_NULL}</option>
</select>
{$MOD.LBL_SEARCH_SORT}:&nbsp;&nbsp;
<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>'
)
)
)
)
);

View File

@@ -0,0 +1,131 @@
<?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 ["EcmStockDocOuts"] = array (
'NUMBER' => array (
'width' => '5',
'label' => 'LBL_DOCUMENT_NO',
'sortable' => true,
'link' => true,
'default' => true
),
'PARENT_NAME' => array (
'width' => '10',
'label' => 'LBL_NAME',
'default' => true,
'sortable' => true
),
'TOTAL' => array (
'width' => '5',
'label' => 'LBL_TOTAL',
'align'=>'right',
'default' => true
),
'STOCK_NAME' => array (
'width' => '5',
'label' => 'LBL_STOCK_NAME',
'default' => true
),
'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' => '3',
'label' => 'LBL_REGISTER_DATE',
'default' => true,
'sortable' => true
),
'ECMINVOICEOUT_NAME' => array (
'width' => '3',
'label' => 'Faktura:',
'default' => true,
'sortable'=>false,
),
'ZS' => array(
'width' => '3',
'label' => 'Dokument ZS',
'default' => true,
'sortable'=>false,
'align'=>'left',
'link' => false,
),
'OPTIONS' => array (
'width' => '2',
'label' => 'PDF',
'default' => true,
'sortable' => false,
'align' => 'center'
)
)
;
?>

View 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['EcmStockDocOuts'] = array (
'templateMeta' => array (
'maxColumns' => '2',
'widths' => array (
'label' => '10',
'field' => '30'
),
),
'layout' => array (
'basic_search' => array (
'document_no',
'stock_id',
'register_date',
'parent_name',
array('name'=>'current_user_only', 'label'=>'LBL_CURRENT_USER_FILTER', 'type'=>'bool'),
),
'advanced_search' => array (
'document_no',
'name',
'register_date',
'stock_id',
array('name'=>'current_user_only', 'label'=>'LBL_CURRENT_USER_FILTER', 'type'=>'bool'),
),
),
);
?>

View 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',
),
);

View File

@@ -0,0 +1,186 @@
<?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['EcmStockDocOuts']['subpanel_setup'] = array (
'notes' => array(
'order' => 110,
'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' => 'ForEcmStockDocOuts',
'title_key' => 'LBL_EMAILS_SUBPANEL_TITLE',
'top_buttons' => array(),
),
'ecmpurchaseorders' => array (
'order' => 10,
'module' => 'EcmPurchaseOrders',
'sort_order' => 'asc',
'sort_by' => 'name',
'get_subpanel_data' => 'ecmpurchaseorders',
'add_subpanel_data' => 'po_id',
'subpanel_name' => 'default',
'title_key' => 'LBL_ECMPURCHASEORDERS_SUBPANEL_TITLE',
),
'ecmstockins' => array (
'order' => 20,
'module' => 'EcmStockIns',
'sort_order' => 'asc',
'sort_by' => 'name',
'get_subpanel_data' => 'ecmstockins',
'add_subpanel_data' => 'ecmstockin_id',
'subpanel_name' => 'default',
'title_key' => 'LBL_ECMSTOCKINS_SUBPANEL_TITLE',
), */
'ecmsales' => array (
'order' => 30,
'module' => 'EcmSales',
'sort_order' => 'asc',
'sort_by' => 'name',
'get_subpanel_data' => 'ecmsales',
'add_subpanel_data' => 'so_id',
'subpanel_name' => 'default',
'title_key' => 'LBL_ECMSALES_SUBPANEL_TITLE',
), /*
'ecmdeliverynotes' => array (
'order' => 50,
'module' => 'EcmDeliveryNotes',
'sort_order' => 'asc',
'sort_by' => 'name',
'get_subpanel_data' => 'ecmdeliverynotes',
'add_subpanel_data' => 'dn_id',
'subpanel_name' => 'default',
'title_key' => 'LBL_ECMDELIVERYNOTES_SUBPANEL_TITLE',
),*/
'ecminvoiceouts' => array(
'order' => 5,
'module' => 'EcmInvoiceOuts',
'subpanel_name' => 'default',
'get_subpanel_data' => 'ecminvoiceouts',
'add_subpanel_data' => 'ecminvoiceout_id',
'title_key' => 'LBL_ECMINVOICEOUTS_SUBPANEL_TITLE',
'top_buttons' => array(
array('widget_class' => 'SubPanelTopCreateButton'),
),
),
);
/*
$r=$GLOBALS['db']->fetchByAssoc($GLOBALS['db']->query("select correct_id from ecmstockdocouts where id='".$_REQUEST['record']."'"));
if(!$r['correct_id']){
$layout_defs['EcmStockDocOuts']['subpanel_setup']['ecmstockdocouts'] = array (
'order' => 70,
'module' => 'EcmStockDocOuts',
'sort_order' => 'asc',
'sort_by' => 'name',
'get_subpanel_data' => 'ecmstockdocouts',
'add_subpanel_data' => 'correct_id',
'subpanel_name' => 'default',
'title_key' => 'LBL_ECMSTOCKDOCOUTS_SUBPANEL_TITLE',
);
}
*/
?>

View 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' => '&nbsp;',
'default' => true,
'width' => '10%',
'sortable' => false,
),
'status' => array (
'name' => 'status',
'vname' => 'LBL_STATUS',
'module' => 'EcmStockDocIns',
'width' => '40%',
),
/*
'PDF_URL' => array(
'width' => '2%',
'label' => '&nbsp;',
'link' => true,
'default' => true,
'sortable' => false,
),
'edit_button'=>array(
'widget_class' => 'SubPanelEditButton',
'width' => '2%',
),
*/
),
);
?>

View 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' => '&nbsp;',
'default' => true,
'width' => '2%',
'sortable' => false,
),
/*
'PDF_URL' => array(
'width' => '2%',
'label' => '&nbsp;',
'link' => true,
'default' => true,
'sortable' => false,
),
'edit_button'=>array(
'widget_class' => 'SubPanelEditButton',
'width' => '2%',
),
*/
),
);
?>

View File

@@ -0,0 +1,59 @@
<?php
include_once 'modules/EcmStockDocOuts/createPDF.php';
global $current_user;
$db=$GLOBALS['db'];
$query=$_SESSION[$current_user->id.'_pdf_ecmstockdocouts'];
$result = $db->query($query);
$id=create_guid();
$files=[];
$focus = new EcmStockDocOut ();
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");
}
*/
?>

View File

@@ -0,0 +1,626 @@
<?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 ['EcmStockDocOut'] = array (
'table' => "ecmstockdocouts",
'comment' => 'EcmStockDocOuts',
'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'
),
'ecmsale_id' => array (
'name' => 'ecmsale_id',
'vname' => 'LBL_ID',
'type' => 'id',
'required' => false,
'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'
),
'ecmproduct_id' => array(
'name' => 'ecmproduct_id',
'vname' => 'produkt',
'type' => 'varchar',
'source' => 'non-db',
),
'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'
),
'date_modified' => array (
'name' => 'date_modified',
'vname' => 'LBL_DATE_MODIFIED',
'type' => 'datetime',
'required' => true,
'comment' => 'Date record last modified'
),
'delivery_date' => array (
'name' => 'delivery_date',
'vname' => 'LBL_DELIVERY_DATE',
'type' => 'date',
'required' => false,
'comment' => 'Date record last modified'
),
'ecmsale_document_no' => array (
'name' => 'ecmsale_document_no',
'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'
),
'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'
),
'ecmlanguage' => array (
'name' => 'ecmlanguage',
'vname' => 'LBL_ECMLANGUAGE',
'type' => 'enum',
'options' => 'ecmlanguages_dom',
'required' => true,
'len' => 35
),
'parent_name' => array(
'name'=> 'parent_name',
'parent_type'=>'ecmstockdocouts_parent_dom' ,
// 'type_name'=>'parent_type',
'id_name'=>'parent_id',
'vname'=>'LBL_PARENT_NAME',
'type'=>'relate',
'group'=>'parent_name',
'dbtype' => 'varchar',
'len' => '255',
//'source'=>'non-db',
'module' => 'Accounts',
'massupdate' => false,
// 'options'=> 'ecmstockdocouts_parent_dom',
'required' => true,
),
'parent_id' => array (
'name' => 'parent_id',
'type' => 'id',
'module' => 'Accounts',
'vname' => 'LBL_PARENT_ID',
'group'=>'parent_name',
'massupdate' => false,
'reportable'=>false,
'required' => true,
),
'ecminvoiceout_name' => array(
'name'=> 'ecminvoiceout_name',
// 'type_name'=>'parent_type',
'id_name'=>'parent_id',
'vname'=>'Faktura nr:',
'type'=>'relate',
'group'=>'ecminvoiceout_name',
'dbtype' => 'varchar',
'len' => '255',
//'source'=>'non-db',
'module' => 'EcmInvoiceOuts',
'massupdate' => false,
// 'options'=> 'ecmstockdocouts_parent_dom',
'required' => false,
),
'ecminvoiceout_id' => array (
'name' => 'ecminvoiceout_id',
'type' => 'id',
'module' => 'EcmInvoiceOuts',
'vname' => 'Id dokumentu',
'group'=>'ecminvoiceout_name',
'massupdate' => false,
'reportable'=>false,
'required' => true,
),
'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
),
'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' => 'ecmstockdocouts' . '_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' => 'ecmstockdocouts' . '_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' => 'ecmstockdocouts' . '_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'
),
'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',
'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'
),
'total_sell' => array (
'name' => 'total_sell',
'vname' => 'LBL_SUBTOTAL',
'type' => 'decimal',
'len' => '15,2',
),
'total_vat' => array (
'name' => 'total_vat',
'vname' => 'LBL_VAT',
'type' => 'decimal',
'len' => '15,2',
),
'total_brutto' =>
array (
'name' => 'total_brutto',
'vname' => 'LBL_TOTAL',
'type' => 'decimal',
'len' => '15,2',
),
'vats_summary' =>
array (
'name' => 'vats_summary',
'type' => 'varchar',
'len' => '200',
),
'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,
),
'parent_nip' => array (
'name' => 'parent_nip',
'vname' => 'LBL_NIP',
'type' => 'id',
'required' => FALSE,
'comment' => 'Unique identifier'
),
'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,
),
'parent_name_copy' => array (
'name' => 'parent_name_copy',
'vname' => 'LBL_PARENT_NAME_COPY',
'type' => 'varchar',
'source' => 'non-db'
),
'parent_address_street' => array (
'name' => 'parent_address_street',
'vname' => 'LBL_PARENT_ADDRESS_STREET',
'type' => 'varchar',
'len' => '150',
'comment' => 'The street address used for parent address',
'group' => 'parent_address',
'merge_filter' => 'enabled'
),
'parent_address_city' => array (
'name' => 'parent_address_city',
'vname' => 'LBL_PARENT_ADDRESS_CITY',
'type' => 'varchar',
'len' => '100',
'comment' => 'The city used for parent address',
'group' => 'parent_address',
'merge_filter' => 'enabled'
),
'parent_address_postalcode' => array (
'name' => 'parent_address_postalcode',
'vname' => 'LBL_PARENT_ADDRESS_POSTALCODE',
'type' => 'varchar',
'len' => '20',
'group' => 'parent_address',
'comment' => 'The postal code used for parent address',
'merge_filter' => 'enabled'
),
'parent_address_country' => array (
'name' => 'parent_address_country',
'vname' => 'LBL_PARENT_ADDRESS_COUNTRY',
'type' => 'varchar',
'group' => 'parent_address',
'comment' => 'The country used for the parent address',
'merge_filter' => 'enabled'
),
'parent_iln' => array (
'name' => 'parent_iln',
'vname' => 'LBL_PARENT_ILN',
'type' => 'varchar',
'group' => 'parent_address',
),
'parent_supplier_code' => array (
'name' => 'parent_supplier_code',
'vname' => 'LBL_SUPPLIER_CODE',
'type' => 'id',
'required' => FALSE,
'comment' => 'Unique identifier'
),
'shipping_address_name' => array (
'name' => 'parent_address_name',
'vname' => 'LBL_SHIPPING_ADDRESS_NAME',
'type' => 'varchar',
'len' => '150',
'group' => 'shipping_address',
'merge_filter' => 'enabled'
),
'shipping_address_street' => array (
'name' => 'shipping_address_street',
'vname' => 'LBL_PARENT_ADDRESS_STREET',
'type' => 'varchar',
'len' => '150',
'group' => 'shipping_address',
'merge_filter' => 'enabled'
),
'shipping_address_city' => array (
'name' => 'shipping_address_city',
'vname' => 'LBL_PARENT_ADDRESS_CITY',
'type' => 'varchar',
'len' => '100',
'group' => 'shipping_address',
'merge_filter' => 'enabled'
),
'shipping_address_postalcode' => array (
'name' => 'shipping_address_postalcode',
'vname' => 'LBL_PARENT_ADDRESS_POSTALCODE',
'type' => 'varchar',
'len' => '20',
'group' => 'shipping_address',
'merge_filter' => 'enabled'
),
'shipping_address_country' => array (
'name' => 'shipping_address_country',
'vname' => 'LBL_PARENT_ADDRESS_COUNTRY',
'type' => 'varchar',
'group' => 'shipping_address',
'merge_filter' => 'enabled'
),
'shipping_iln' => array (
'name' => 'shipping_iln',
'vname' => 'LBL_PARENT_ILN',
'type' => 'varchar',
'group' => 'parent_address',
),
'shipping_nip' => array (
'name' => 'shipping_nip',
'vname' => 'LBL_NIP',
'type' => 'id',
'required' => FALSE,
'comment' => 'Unique identifier'
),
'shipping_supplier_code' => array (
'name' => 'shipping_supplier_code',
'vname' => 'LBL_SUPPLIER_CODE',
'type' => 'id',
'required' => FALSE,
'comment' => 'Unique identifier'
),
'ecmsales' => array (
'name' => 'ecmsales',
'type' => 'link',
'relationship' => 'ecmstockdocouts_ecmsales',
'source'=>'non-db',
'vname'=>'LBL_ECMSALES',
),
'parent_order_no' =>
array (
'name'=>'parent_order_no',
'vname'=>'LBL_ORDER_NO',
'type'=>'varchar',
),
'ecminvoiceouts' => array (
'name' => 'ecminvoiceouts',
'type' => 'link',
'relationship' => 'ecminvoiceouts_ecmstockdocouts',
'source'=>'non-db'
),
'order_qty'=>
array (
'name'=>'order_qty',
'vname'=>'LBL_ORDER_QTY',
'type'=>'varchar',
),
// FOR SUBPANELS
'notes' => array (
'name' => 'notes',
'type' => 'link',
'relationship' => 'ecmstockdocouts_notes',
'source'=>'non-db',
'vname'=>'LBL_NOTES'
),
),
// INDICES SECTION
'indices' => array (
array (
'name' => 'ecmstockdocouts' . 'pk',
'type' => 'primary',
'fields' => array (
'id'
)
),
array (
'name' => 'idx_' . 'ecmstockdocouts' . '_document_no',
'type' => 'index',
'fields' => array (
'document_no'
)
) ,
),
// RELATIONSHIPS SECTION
'relationships' => array (
'ecmstockdocouts' . '_assigned_user' => array (
'lhs_module' => 'Users',
'lhs_table' => 'users',
'lhs_key' => 'id',
'rhs_module' => 'EcmStockDocOuts',
'rhs_table' => 'ecmstockdocouts',
'rhs_key' => 'assigned_user_id',
'relationship_type' => 'one-to-many'
),
'ecmstockdocouts' . '_modified_user' => array (
'lhs_module' => 'Users',
'lhs_table' => 'users',
'lhs_key' => 'id',
'rhs_module' => 'EcmStockDocOuts',
'rhs_table' => 'ecmstockdocouts',
'rhs_key' => 'modified_user_id',
'relationship_type' => 'one-to-many'
),
'ecmstockdocouts' . '_created_by' => array (
'lhs_module' => 'Users',
'lhs_table' => 'users',
'lhs_key' => 'id',
'rhs_module' => 'EcmStockDocOuts',
'rhs_table' => 'ecmstockdocouts',
'rhs_key' => 'created_by',
'relationship_type' => 'one-to-many'
),'ecmstockdocouts_ecmsales' => array(
'lhs_module'=> 'EcmSales', 'lhs_table'=> 'ecmsales', 'lhs_key' => 'id',
'rhs_module'=> 'EcmStockDocOuts', 'rhs_table'=> 'ecmstockdocouts', 'rhs_key' => 'ecmsale_id',
'relationship_type'=>'one-to-many'),
'ecminvoiceouts_ecmstockdocouts' => array(
'lhs_module'=> 'EcmStockDocOuts', 'lhs_table'=> 'ecmstockdocouts', 'lhs_key' => 'id',
'rhs_module'=> 'EcmInvoiceOuts', 'rhs_table'=> 'ecminvoiceouts', 'rhs_key' => 'wz_id',
'relationship_type'=>'one-to-many'),
'ecmstockdocouts_notes' => array (
'lhs_module' => 'EcmStockDocOuts',
'lhs_table' => 'ecmstockdocouts',
'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' => 'EcmStockDocOuts'
),
),
// THIS FLAG ENABLES OPTIMISTIC LOCKING FOR SAVES FROM EDITVIEW
'optimistic_locking' => true
);

View 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}}
&nbsp;
{{/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'}}&nbsp;
{{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}}
&nbsp;
</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"}}

View 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>

View 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%">&nbsp;</td>
<td align="right" width="100%" NOWRAP>
{{foreach from=$form.links item=link}}
{{$link}}&nbsp;
{{/foreach}}
</td>
{{/if}}
</tr>
</table>

View File

@@ -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();
}
}

View 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}}&nbsp;
{{/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'}}

View 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}}

View 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>

View File

@@ -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 ViewEditEcmStockDocOuts 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 ViewEditEcmStockDocOuts(){
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);
}
}
?>

View 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 EcmStockDocOutsViewList extends ViewList{
function EcmStockDocOutsViewList(){
parent::ViewList();
}
function display(){
if(!$this->bean->ACLAccess('list')){
ACLController::displayNoAccess();
return;
}
$this->module=$module = "EcmStockDocOuts";
$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();
}
}
}
?>