salesagility_SuiteCRM/modules/Currencies/index.php

200 lines
10 KiB
PHP
Executable File

<?php
if (!defined('sugarEntry') || !sugarEntry) {
die('Not A Valid Entry Point');
}
/**
*
* SugarCRM Community Edition is a customer relationship management program developed by
* SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
*
* SuiteCRM is an extension to SugarCRM Community Edition developed by SalesAgility Ltd.
* Copyright (C) 2011 - 2018 SalesAgility Ltd.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Affero 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 Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero 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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "Powered by
* SugarCRM" logo and "Supercharged by SuiteCRM" logo. If the display of the logos is not
* reasonably feasible for technical reasons, the Appropriate Legal Notices must
* display the words "Powered by SugarCRM" and "Supercharged by SuiteCRM".
*/
/*********************************************************************************
********************************************************************************/
global $theme;
global $mod_strings;
global $app_list_strings;
global $app_strings;
global $current_user, $focus;
echo getClassicModuleTitle(
"Administration",
array(
"<a href='index.php?module=Administration&action=index'>".translate('LBL_MODULE_NAME', 'Administration')."</a>",
$mod_strings['LBL_MODULE_NAME'],
),
false
);
if ($current_user->is_admin) {
require_once('modules/Currencies/ListCurrency.php');
$focus = BeanFactory::newBean('Currencies');
$lc = new ListCurrency();
$lc->handleAdd();
if (isset($_REQUEST['merge']) && $_REQUEST['merge'] == 'true') {
$isMerge = true;
}
if (isset($_REQUEST['domerge'])) {
$currencies = $_REQUEST['mergecur'];
$opp = BeanFactory::newBean('Opportunities');
$opp->update_currency_id($currencies, $_REQUEST['mergeTo']);
foreach ($currencies as $cur) {
if ($cur != $_REQUEST['mergeTo']) {
$focus->mark_deleted($cur);
}
}
}
$lc->lookupCurrencies();
if (isset($focus->id)) {
$focus_id = $focus->id;
} else {
$focus_id='';
}
$merge_button = '';
$pretable = '';
if ((isset($_REQUEST['doAction']) && $_REQUEST['doAction'] == 'merge') || (isset($isMerge) && !$isMerge)) {
$merge_button = '<form name= "MERGE" method="POST" action="index.php"><input type="hidden" name="module" value="Currencies"><input type="hidden" name="record" value="'.$focus_id.'"><input type="hidden" name="action" value="index"><input type="hidden" name="merge" value="true"><input title="'.$mod_strings['LBL_MERGE'].'" class="button" type="submit" name="button" value="'.$mod_strings['LBL_MERGE'].'" ></form>';
}
if (isset($isMerge) && $isMerge) {
$currencyList = new ListCurrency();
$listoptions = $currencyList->getSelectOptions();
$pretable = <<<EOQ
<form name= "MERGE" method="POST" action="index.php">
<input type="hidden" name="module" value="Currencies">
<input type="hidden" name="action" value="index">
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="edit view">
<tr><td><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
<td>{$mod_strings['LBL_MERGE_TXT']}</td><td width='20%'><select name='mergeTo'>{$listoptions}</select></td>
</tr>
<tr><td></td><td><input title="{$mod_strings['LBL_MERGE']}" class="button" type="submit" name="domerge" value="{$mod_strings['LBL_MERGE']}" >
<input title="{$app_strings['LBL_CANCEL_BUTTON_TITLE']}" accessKey="{$app_strings['LBL_CANCEL_BUTTON_KEY']}" class="button" type="submit" name="button" value="{$app_strings['LBL_CANCEL_BUTTON_LABEL']}" > </td></tr>
</table></td></tr></table><br>
EOQ;
}
$edit_botton = '<form name="EditView" method="POST" action="index.php" >';
$edit_botton .= '<input type="hidden" name="module" value="Currencies">';
$edit_botton .= '<input type="hidden" name="record" value="'.$focus_id.'">';
$edit_botton .= '<input type="hidden" name="action">';
$edit_botton .= '<input type="hidden" name="edit">';
$edit_botton .= '<input type="hidden" name="return_module" value="Currencies">';
$edit_botton .= '<input type="hidden" name="return_action" value="index">';
$edit_botton .= '<input type="hidden" name="return_id" value="">';
$edit_botton .= '<input title="'.$app_strings['LBL_SAVE_BUTTON_TITLE'].'" accessKey="'.$app_strings['LBL_SAVE_BUTTON_KEY'].'" class="button" onclick="this.form.edit.value=\'true\';this.form.action.value=\'index\';return check_form(\'EditView\');" type="submit" name="button" value="'.$app_strings['LBL_SAVE_BUTTON_LABEL'].'" > ';
$edit_botton .= '<input title="'.$app_strings['LBL_CANCEL_BUTTON_TITLE'].'" accessKey="'.$app_strings['LBL_CANCEL_BUTTON_KEY'].'" class="button" onclick="this.form.edit.value=\'false\';this.form.action.value=\'index\';" type="submit" name="button" value="'.$app_strings['LBL_CANCEL_BUTTON_LABEL'].'" > ';
$header_text = '';
if (is_admin($current_user) && $_REQUEST['module'] != 'DynamicLayout' && !empty($_SESSION['editinplace'])) {
$header_text = "&nbsp;<a href='index.php?action=index&module=DynamicLayout&from_action=ListView&from_module=".$_REQUEST['module'] ."'>".SugarThemeRegistry::current()->getImage("EditLayout", "border='0' align='bottom'", null, null, '.gif', $mod_strings['LBL_EDIT_LAYOUT'])."</a>";
}
$ListView = new ListView();
$ListView->initNewXTemplate('modules/Currencies/ListView.html', $mod_strings);
$ListView->xTemplateAssign('PRETABLE', $pretable);
$ListView->xTemplateAssign('POSTTABLE', '</form>');
$ListView->xTemplateAssign("DELETE_INLINE_PNG", SugarThemeRegistry::current()->getImage('delete_inline', 'align="absmiddle" border="0"', null, null, '.gif', $app_strings['LNK_DELETE']));
//$ListView->setHeaderTitle($mod_strings['LBL_LIST_FORM_TITLE']. $header_text );
$ListView->setHeaderText($merge_button);
$ListView->processListView($lc->list, "main", "CURRENCY");
if (isset($_GET['record']) && !empty($_GET['record']) && !isset($_POST['edit'])) {
$focus->retrieve($_GET['record']);
$focus->conversion_rate = format_number($focus->conversion_rate, 10, 10);
}
if (is_admin($current_user) && $_REQUEST['module'] != 'DynamicLayout' && !empty($_SESSION['editinplace'])) {
$header_text = "&nbsp;<a href='index.php?action=index&module=DynamicLayout&from_action=EditView&from_module=".$_REQUEST['module'] ."'>".SugarThemeRegistry::current()->getImage("EditLayout", "border='0' align='bottom'", null, null, '.gif', $mod_strings['LBL_EDIT_LAYOUT'])."</a>";
}
if (empty($focus->id)) {
echo get_form_header($app_strings['LBL_CREATE_BUTTON_LABEL'] . $header_text, $edit_botton, false);
} else {
echo get_form_header($app_strings['LBL_EDIT_BUTTON_LABEL']." &raquo; ".$focus->name . $header_text, $edit_botton, false);
}
$sugar_smarty = new Sugar_Smarty();
$sugar_smarty->assign("MOD", $mod_strings);
$sugar_smarty->assign("APP", $app_strings);
// Load in the full ISO 4217 list, so we can dynamically populate the currency strings
require_once('modules/Currencies/iso4217.php');
$json = getJSONobj();
$js_iso4217 = $json->encode($fullIsoList);
$sugar_smarty->assign('JS_ISO4217', $js_iso4217);
if (isset($_REQUEST['return_module'])) {
$sugar_smarty->assign("RETURN_MODULE", $_REQUEST['return_module']);
}
if (isset($_REQUEST['return_action'])) {
$sugar_smarty->assign("RETURN_ACTION", $_REQUEST['return_action']);
}
if (isset($_REQUEST['return_id'])) {
$sugar_smarty->assign("RETURN_ID", $_REQUEST['return_id']);
}
$sugar_smarty->assign("PRINT_URL", "index.php?".$GLOBALS['request_string']);
$sugar_smarty->assign("JAVASCRIPT", get_set_focus_js());
$sugar_smarty->assign("THEME", (string)SugarThemeRegistry::current());
$sugar_smarty->assign("ID", $focus->id);
$sugar_smarty->assign('NAME', $focus->name);
$sugar_smarty->assign('STATUS', $focus->status);
$sugar_smarty->assign('ISO4217', $focus->iso4217);
$sugar_smarty->assign('CONVERSION_RATE', $focus->conversion_rate);
$sugar_smarty->assign('SYMBOL', $focus->symbol);
$sugar_smarty->assign('STATUS_OPTIONS', get_select_options_with_id($mod_strings['currency_status_dom'], $focus->status));
//if (empty($focus->list_order)) $xtpl->assign('LIST_ORDER', count($focus->get_manufacturers(false,'All'))+1);
//else $xtpl->assign('LIST_ORDER', $focus->list_order);
$sugar_smarty->display("modules/Currencies/EditView.tpl");
$javascript = new javascript();
$javascript->setFormName('EditView');
$javascript->setSugarBean($focus);
$javascript->addAllFields('', array('iso4217'=>'iso4217'));
echo $javascript->getScript();
echo("<script type='text/javascript'>addToValidateMoreThan('EditView','conversion_rate','float',true,'".$mod_strings['LBL_BELOW_MIN']."',0.000001);</script>");
} else {
echo 'Admin\'s Only';
}