diff --git a/layouts/v7/modules/Calendar/ListViewRecordActions.tpl b/layouts/v7/modules/Calendar/ListViewRecordActions.tpl index a70c546cd7f4794b7f7cdaed1df82965bcefa01d..e98941b30b68515b8362b79d643c6caff65017ab 100644 --- a/layouts/v7/modules/Calendar/ListViewRecordActions.tpl +++ b/layouts/v7/modules/Calendar/ListViewRecordActions.tpl @@ -27,7 +27,7 @@ {if $IS_MODULE_EDITABLE && $EDIT_VIEW_URL && $LISTVIEW_ENTRY->get('taskstatus') neq vtranslate('Held', $MODULE) && $LISTVIEW_ENTRY->get('taskstatus') neq vtranslate('Completed', $MODULE)} <span class="fa fa-check icon action" title="{vtranslate('LBL_MARK_AS_HELD', $MODULE)}" onclick="Calendar_Calendar_Js.markAsHeld('{$LISTVIEW_ENTRY->getId()}');"></span> {/if} - {if $IS_RECORD_CREATABLE && $EDIT_VIEW_URL && $LISTVIEW_ENTRY->get('taskstatus') eq vtranslate('Held', $MODULE)} + {if $IS_CREATE_PERMITTED && $EDIT_VIEW_URL && $LISTVIEW_ENTRY->get('taskstatus') eq vtranslate('Held', $MODULE)} <span class="fa fa-flag icon action" title="{vtranslate('LBL_HOLD_FOLLOWUP_ON', "Events")}" onclick="Calendar_Calendar_Js.holdFollowUp('{$LISTVIEW_ENTRY->getId()}');"></span> {/if} <span class="more dropdown action"> diff --git a/layouts/v7/modules/Settings/Profiles/EditViewContents.tpl b/layouts/v7/modules/Settings/Profiles/EditViewContents.tpl index 7f9eafb6121803b6ba7890d7f8dabeb90f592ad2..0ebabbe0724bbed1cbba9587d25cd81eb6d16e94 100644 --- a/layouts/v7/modules/Settings/Profiles/EditViewContents.tpl +++ b/layouts/v7/modules/Settings/Profiles/EditViewContents.tpl @@ -12,11 +12,9 @@ {foreach key=index item=jsModel from=$SCRIPTS} <script type="{$jsModel->getType()}" src="{$jsModel->getSrc()}"></script> {/foreach} - <div class="row"> - <div class="col-lg-3 col-md-3 col-sm-3 control-label "> - <label class="fieldLabel"> - {vtranslate('LBL_COPY_PRIVILEGES_FROM',"Settings:Roles")} - </label> + <div class="form-group row"> + <div class="col-lg-3 col-md-3 col-sm-3 control-label fieldLabel"> + <strong>{vtranslate('LBL_COPY_PRIVILEGES_FROM',"Settings:Roles")}</strong> </div> <div class="col-lg-6 col-md-6 col-sm-6"> <select class="select2" id="directProfilePriviligesSelect" placeholder="{vtranslate('LBL_CHOOSE_PROFILES',$QUALIFIED_MODULE)}"> @@ -34,7 +32,7 @@ <input type="hidden" name="editall" value="0" /> {if $RECORD_MODEL && $RECORD_MODEL->getId() && empty($IS_DUPLICATE_RECORD)} {if $RECORD_MODEL->hasGlobalReadPermission() || $RECORD_MODEL->hasGlobalWritePermission()} - <div class="row"> + <div class="form-group row"> <div class="col-lg-3 col-md-3 col-sm-3 fieldLabel"></div> <div class="col-lg-6 col-md-6 col-sm-6"> <label class="control-label"> diff --git a/layouts/v7/modules/Settings/Roles/EditView.tpl b/layouts/v7/modules/Settings/Roles/EditView.tpl index 875889eae0eb67a3372b3cac4d3d724e5ce107c3..c9e0becd9f68f642a28f231662f49225092ad7c6 100644 --- a/layouts/v7/modules/Settings/Roles/EditView.tpl +++ b/layouts/v7/modules/Settings/Roles/EditView.tpl @@ -96,7 +96,7 @@ </div> <br> <div class="form-group " data-content="new" > - <div class="fieldValue col-sm-12"> + <div class="profileData col-sm-12"> </div> </div> <div class="form-group " data-content="existing"> diff --git a/layouts/v7/modules/Settings/Roles/resources/Roles.js b/layouts/v7/modules/Settings/Roles/resources/Roles.js index cbb01b89ba70d9f6d57391775105ac5f59a2e765..fae93e891a247e882ed251bd68b735cb637001a8 100644 --- a/layouts/v7/modules/Settings/Roles/resources/Roles.js +++ b/layouts/v7/modules/Settings/Roles/resources/Roles.js @@ -247,7 +247,7 @@ var Settings_Roles_Js = { app.request.post(params).then(function(err, data) { app.helper.hideProgress(); if(err === null) { - content.find('.fieldValue').html(data); + content.find('.profileData').html(data); vtUtils.showSelect2ElementView(jQuery('#directProfilePriviligesSelect')); Settings_Roles_Js.registerExistingProfilesChangeEvent(); Settings_Roles_Js.newPriviliges = true; @@ -276,7 +276,7 @@ var Settings_Roles_Js = { app.request.get({'data' : params}).then(function(err, data) { app.helper.hideProgress(); if(err === null) { - jQuery('[data-content="new"]').find('.fieldValue').html(data); + jQuery('[data-content="new"]').find('.profileData').html(data); vtUtils.showSelect2ElementView(jQuery('#directProfilePriviligesSelect')); Settings_Roles_Js.registerExistingProfilesChangeEvent(); Settings_Roles_Js.registerProfileEvents(); diff --git a/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl b/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl index bf85165e48b0dc11804ebb0b618da75e68da5864..b5f6048ae9f77e225cc3a393c6ae935316ad2a62 100644 --- a/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl +++ b/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl @@ -15,38 +15,83 @@ <div class="col-lg-7 col-md-7"> {if $USER_MODEL->isAdminUser()} <a title="{vtranslate('Home', $MODULE)}" href='index.php?module=Vtiger&parent=Settings&view=Index'> - {if $VIEW eq 'Index' && $MODULE eq 'Vtiger'} - <h4 class="module-title pull-left text-uppercase">{vtranslate('LBL_SETTINGS', $MODULE)} </h4> - {/if} + <h4 class="module-title pull-left text-uppercase">{vtranslate('LBL_HOME', $MODULE)} </h4> </a> + <span class="fa fa-angle-right pull-left {if $VIEW eq 'Index' && $MODULE eq 'Vtiger'} hide {/if}" aria-hidden="true" style="padding-top: 12px;padding-left: 5px;"></span> {/if} - {if $MODULE eq 'Vtiger' and $smarty.request.view eq 'Index'} - - {else} - <h4 title="{vtranslate($ACTIVE_BLOCK['block'], $QUALIFIED_MODULE)}" class="module-title pull-left text-uppercase">{vtranslate($ACTIVE_BLOCK['block'], $QUALIFIED_MODULE)}</h4> + {if $MODULE neq 'Vtiger' or $smarty.request.view neq 'Index'} + {if $ACTIVE_BLOCK['block']} + <span class="current-filter-name filter-name pull-left"> + {vtranslate($ACTIVE_BLOCK['block'], $QUALIFIED_MODULE)} + <span class="fa fa-angle-right" aria-hidden="true"></span> + </span> + {/if} {if $MODULE neq 'Vtiger'} - {if $smarty.request.view eq 'PreferenceDetail' or $smarty.request.view eq 'PreferenceEdit'} - {assign var=SELECTED_MODULE value='My Preferences'} - {elseif $smarty.request.view eq 'Calendar'} - {assign var=SELECTED_MODULE value='Calendar Settings'} - {elseif $smarty.request.module eq 'LayoutEditor'} - {assign var=SELECTED_MODULE value='LBL_MODULE_CUSTOMIZATION'} - {elseif $smarty.request.module eq 'Currency'} - {assign var=SELECTED_MODULE value='LBL_CURRENCY_SETTINGS'} - {elseif $smarty.request.module eq 'Picklist'} - {assign var=SELECTED_MODULE value='LBL_PICKLIST_EDITOR'} - {elseif $smarty.request.view eq 'MappingDetail' and $smarty.request.module eq 'Potentials'} - {assign var=SELECTED_MODULE value='LBL_OPPORTUNITY_MAPPING'} - {elseif $smarty.request.view eq 'MappingDetail' and $smarty.request.module eq 'Leads'} - {assign var=SELECTED_MODULE value='LBL_LEAD_MAPPING'} - {elseif $smarty.request.module eq 'MenuEditor'} - {assign var=SELECTED_MODULE value='LBL_MENU_EDITOR'} - {elseif $smarty.request.module eq 'Tags'} - {assign var=SELECTED_MODULE value='LBL_MY_TAGS'} - {else} - {assign var=SELECTED_MODULE value=$smarty.request.module} + {assign var=ALLOWED_MODULES value=","|explode:'Users,Profiles,Groups,Roles,Webforms,Workflows'} + {if $MODULE_MODEL and $MODULE|in_array:$ALLOWED_MODULES} + {if $MODULE eq 'Webforms'} + {assign var=URL value=$MODULE_MODEL->getListViewUrl()} + {else} + {assign var=URL value=$MODULE_MODEL->getDefaultUrl()} + {/if} + {if $URL|strpos:'parent' eq ''} + {assign var=URL value=$URL|cat:'&parent='|cat:$smarty.request.parent} + {/if} {/if} - <span class="current-filter-name filter-name pull-left" style='width:50%;'> <span class="fa fa-angle-right" aria-hidden="true"></span> {vtranslate($SELECTED_MODULE, $QUALIFIED_MODULE)}</span> + <span class="current-filter-name settingModuleName filter-name pull-left"> + {if $smarty.request.view eq 'Calendar'} + {if $smarty.request.mode eq 'Edit'} + <a href="{"index.php?module="|cat:$smarty.request.module|cat:'&parent='|cat:$smarty.request.parent|cat:'&view='|cat:$smarty.request.view}"> + {vtranslate({$PAGETITLE}, $QUALIFIED_MODULE)} + </a> + <span class="fa fa-angle-right" aria-hidden="true"></span> + {vtranslate('LBL_EDITING', $MODULE)} : {vtranslate({$PAGETITLE}, $QUALIFIED_MODULE)} {vtranslate('LBL_OF',$QUALIFIED_MODULE)} {$USER_MODEL->getName()} + {else} + {vtranslate({$PAGETITLE}, $QUALIFIED_MODULE)} <span class="fa fa-angle-right" aria-hidden="true"></span> {$USER_MODEL->getName()} + {/if} + {else if $smarty.request.view neq 'List' and $smarty.request.module eq 'Users'} + {if $smarty.request.view eq 'PreferenceEdit'} + <a href="{"index.php?module="|cat:$smarty.request.module|cat:'&parent='|cat:$smarty.request.parent|cat:'&view=PreferenceDetail&record='|cat:$smarty.request.record}"> + {vtranslate($ACTIVE_BLOCK['block'], $QUALIFIED_MODULE)} + </a> + <span class="fa fa-angle-right" aria-hidden="true"></span> + {vtranslate('LBL_EDITING', $MODULE)} : {$USER_MODEL->getName()} + {else if $smarty.request.view eq 'Edit' or $smarty.request.view eq 'Detail'} + <a href="{$URL}"> + {if $smarty.request.extensionModule}{$smarty.request.extensionModule}{else}{vtranslate({$PAGETITLE}, $QUALIFIED_MODULE)}{/if} + </a> + <span class="fa fa-angle-right" aria-hidden="true"></span> + {if $smarty.request.view eq 'Edit'} + {if $RECORD} + {vtranslate('LBL_EDITING', $MODULE)} : {$RECORD->getName()} + {else} + {vtranslate('LBL_ADDING_NEW', $MODULE)} + {/if} + {else} + {$RECORD->getName()} + {/if} + {else} + {$USER_MODEL->getName()} + {/if} + {else if $URL and $URL|strpos:$smarty.request.view eq ''} + <a href="{$URL}"> + {if $smarty.request.extensionModule} + {$smarty.request.extensionModule} + {else} + {vtranslate({$PAGETITLE}, $QUALIFIED_MODULE)} + {/if} + </a> + <span class="fa fa-angle-right" aria-hidden="true"></span> + {if $RECORD} + {if $smarty.request.view eq 'Edit'} + {vtranslate('LBL_EDITING', $MODULE)} : + {/if} + {$RECORD->getName()} + {/if} + {else} + {if $smarty.request.extensionModule}{$smarty.request.extensionModule}{else}{vtranslate({$PAGETITLE}, $QUALIFIED_MODULE)}{/if} + {/if} + </span> {else} {if $smarty.request.view eq 'TaxIndex'} {assign var=SELECTED_MODULE value='LBL_TAX_MANAGEMENT'} @@ -55,124 +100,123 @@ {else} {assign var=SELECTED_MODULE value=$ACTIVE_BLOCK['menu']} {/if} - <span class="current-filter-name filter-name pull-left" style='width:50%;'> <span class="fa fa-angle-right" aria-hidden="true"></span> {vtranslate({$SELECTED_MODULE}, $QUALIFIED_MODULE)}</span> + <span class="current-filter-name filter-name pull-left" style='width:50%;'><span class="display-inline-block">{vtranslate({$PAGETITLE}, $QUALIFIED_MODULE)}</span></span> {/if} {/if} - </div> - <div class="col-lg-5 col-md-5 pull-right"> - <div id="appnav" class="navbar-right"> - <ul class="nav navbar-nav"> - {foreach item=BASIC_ACTION from=$MODULE_BASIC_ACTIONS} + </div> + <div class="col-lg-5 col-md-5 pull-right"> + <div id="appnav" class="navbar-right"> + <ul class="nav navbar-nav"> + {foreach item=BASIC_ACTION from=$MODULE_BASIC_ACTIONS} + <li> {if $BASIC_ACTION->getLabel() == 'LBL_IMPORT'} - <li> - <button id="{$MODULE}_basicAction_{Vtiger_Util_Helper::replaceSpaceWithUnderScores($BASIC_ACTION->getLabel())}" type="button" class="btn addButton btn-default module-buttons" - {if stripos($BASIC_ACTION->getUrl(), 'javascript:')===0} - onclick='{$BASIC_ACTION->getUrl()|substr:strlen("javascript:")};' - {else} - onclick="Vtiger_Import_Js.triggerImportAction('{$BASIC_ACTION->getUrl()}')" - {/if}> - <div class="fa {$BASIC_ACTION->getIcon()}" aria-hidden="true"></div> - {vtranslate($BASIC_ACTION->getLabel(), $MODULE)} - </button> - </li> + <button id="{$MODULE}_basicAction_{Vtiger_Util_Helper::replaceSpaceWithUnderScores($BASIC_ACTION->getLabel())}" type="button" class="btn addButton btn-default module-buttons" + {if stripos($BASIC_ACTION->getUrl(), 'javascript:')===0} + onclick='{$BASIC_ACTION->getUrl()|substr:strlen("javascript:")};' + {else} + onclick="Vtiger_Import_Js.triggerImportAction('{$BASIC_ACTION->getUrl()}')" + {/if}> + <div class="fa {$BASIC_ACTION->getIcon()}" aria-hidden="true"></div> + {vtranslate($BASIC_ACTION->getLabel(), $MODULE)} + </button> {else} - <li> - <button type="button" class="btn addButton btn-default module-buttons" - id="{$MODULE}_listView_basicAction_{Vtiger_Util_Helper::replaceSpaceWithUnderScores($BASIC_ACTION->getLabel())}" - {if stripos($BASIC_ACTION->getUrl(), 'javascript:')===0} - onclick='{$BASIC_ACTION->getUrl()|substr:strlen("javascript:")};' - {else} - onclick='window.location.href="{$BASIC_ACTION->getUrl()}"' - {/if}> - <div class="fa {$BASIC_ACTION->getIcon()}" aria-hidden="true"></div> - {vtranslate($BASIC_ACTION->getLabel(), $MODULE)} - </button> - </li> - {/if} - - {/foreach} - - {if $LISTVIEW_LINKS['LISTVIEWSETTING']|@count gt 0} - {if empty($QUALIFIEDMODULE)} - {assign var=QUALIFIEDMODULE value=$MODULE} + <button type="button" class="btn addButton btn-default module-buttons" + id="{$MODULE}_listView_basicAction_{Vtiger_Util_Helper::replaceSpaceWithUnderScores($BASIC_ACTION->getLabel())}" + {if stripos($BASIC_ACTION->getUrl(), 'javascript:')===0} + onclick='{$BASIC_ACTION->getUrl()|substr:strlen("javascript:")};' + {else} + onclick='window.location.href="{$BASIC_ACTION->getUrl()}"' + {/if}> + <div class="fa {$BASIC_ACTION->getIcon()}" aria-hidden="true"></div> + {vtranslate($BASIC_ACTION->getLabel(), $MODULE)} + </button> {/if} - <li> - <div class="settingsIcon"> - <button type="button" class="btn btn-default module-buttons dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> - <span class="fa fa-wrench" aria-hidden="true" title="{vtranslate('LBL_SETTINGS', $MODULE)}"></span> <span class="caret"></span> - </button> - <ul class="detailViewSetting dropdown-menu"> - {foreach item=SETTING from=$LISTVIEW_LINKS['LISTVIEWSETTING']} - <li id="{$MODULE}_setings_lisview_advancedAction_{$SETTING->getLabel()}"><a href="javascript:void(0);" onclick="{$SETTING->getUrl()};">{vtranslate($SETTING->getLabel(), $QUALIFIEDMODULE)}</a></li> - {/foreach} - </ul> - </div> - </li> + </li> + {/foreach} + {if $LISTVIEW_LINKS['LISTVIEWSETTING']|@count gt 0} + {if empty($QUALIFIEDMODULE)} + {assign var=QUALIFIEDMODULE value=$MODULE} {/if} + <li> + <div class="settingsIcon"> + <button type="button" class="btn btn-default module-buttons dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> + <span class="fa fa-wrench" aria-hidden="true" title="{vtranslate('LBL_SETTINGS', $MODULE)}"></span> <span class="caret"></span> + </button> + <ul class="detailViewSetting dropdown-menu"> + {foreach item=SETTING from=$LISTVIEW_LINKS['LISTVIEWSETTING']} + <li id="{$MODULE}_setings_lisview_advancedAction_{$SETTING->getLabel()}"><a href="javascript:void(0);" onclick="{$SETTING->getUrl()};">{vtranslate($SETTING->getLabel(), $QUALIFIEDMODULE)}</a></li> + {/foreach} + </ul> + </div> + </li> + {/if} - {assign var=RESTRICTED_MODULE_LIST value=['Users', 'EmailTemplates']} - {if $LISTVIEW_LINKS['LISTVIEWBASIC']|@count gt 0 and !in_array($MODULE, $RESTRICTED_MODULE_LIST)} - {if empty($QUALIFIED_MODULE)} - {assign var=QUALIFIED_MODULE value='Settings:'|cat:$MODULE} - {/if} - {foreach item=LISTVIEW_BASICACTION from=$LISTVIEW_LINKS['LISTVIEWBASIC']} - {if $MODULE eq 'Users'} {assign var=LANGMODULE value=$MODULE} {/if} - <li> - <button class="btn btn-default addButton module-buttons" - id="{$MODULE}_listView_basicAction_{Vtiger_Util_Helper::replaceSpaceWithUnderScores($LISTVIEW_BASICACTION->getLabel())}" - {if $MODULE eq 'Workflows'} - onclick='Settings_Workflows_List_Js.triggerCreate("{$LISTVIEW_BASICACTION->getUrl()}&mode=V7Edit")' + {assign var=RESTRICTED_MODULE_LIST value=['Users', 'EmailTemplates']} + {if $LISTVIEW_LINKS['LISTVIEWBASIC']|@count gt 0 and !in_array($MODULE, $RESTRICTED_MODULE_LIST)} + {if empty($QUALIFIED_MODULE)} + {assign var=QUALIFIED_MODULE value='Settings:'|cat:$MODULE} + {/if} + {foreach item=LISTVIEW_BASICACTION from=$LISTVIEW_LINKS['LISTVIEWBASIC']} + {if $MODULE eq 'Users'} {assign var=LANGMODULE value=$MODULE} {/if} + <li> + <button class="btn btn-default addButton module-buttons" + id="{$MODULE}_listView_basicAction_{Vtiger_Util_Helper::replaceSpaceWithUnderScores($LISTVIEW_BASICACTION->getLabel())}" + {if $MODULE eq 'Workflows'} + onclick='Settings_Workflows_List_Js.triggerCreate("{$LISTVIEW_BASICACTION->getUrl()}&mode=V7Edit")' + {else} + {if stripos($LISTVIEW_BASICACTION->getUrl(), 'javascript:')===0} + onclick='{$LISTVIEW_BASICACTION->getUrl()|substr:strlen("javascript:")};' {else} - {if stripos($LISTVIEW_BASICACTION->getUrl(), 'javascript:')===0} - onclick='{$LISTVIEW_BASICACTION->getUrl()|substr:strlen("javascript:")};' - {else} - onclick='window.location.href="{$LISTVIEW_BASICACTION->getUrl()}"' - {/if} - {/if}> + onclick='window.location.href = "{$LISTVIEW_BASICACTION->getUrl()}"' + {/if} + {/if}> + {if $MODULE eq 'Tags'} <i class="fa fa-plus"></i> - {if $MODULE eq 'Tags'} - {vtranslate('LBL_ADD_TAG', $QUALIFIED_MODULE)} - {else} - {vtranslate('LBL_ADD_RECORD', $QUALIFIED_MODULE)} + {vtranslate('LBL_ADD_TAG', $QUALIFIED_MODULE)} + {else} + {if $LISTVIEW_BASICACTION->getIcon()} + <i class="{$LISTVIEW_BASICACTION->getIcon()}"></i> {/if} - </button> - </li> - {/foreach} - {/if} - </ul> - </div> + {vtranslate($LISTVIEW_BASICACTION->getLabel(), $QUALIFIED_MODULE)} + {/if} + </button> + </li> + {/foreach} + {/if} + </ul> </div> </div> - {if $FIELDS_INFO neq null} - <script type="text/javascript"> - var uimeta = (function () { - var fieldInfo = {$FIELDS_INFO}; - return { - field: { - get: function (name, property) { - if (name && property === undefined) { - return fieldInfo[name]; - } - if (name && property) { - return fieldInfo[name][property] - } - }, - isMandatory: function (name) { - if (fieldInfo[name]) { - return fieldInfo[name].mandatory; - } - return false; - }, - getType: function (name) { - if (fieldInfo[name]) { - return fieldInfo[name].type - } - return false; + </div> + {if $FIELDS_INFO neq null} + <script type="text/javascript"> + var uimeta = (function () { + var fieldInfo = {$FIELDS_INFO}; + return { + field: { + get: function (name, property) { + if (name && property === undefined) { + return fieldInfo[name]; + } + if (name && property) { + return fieldInfo[name][property] } }, - }; - })(); - </script> - {/if} - </div> - {/strip} + isMandatory: function (name) { + if (fieldInfo[name]) { + return fieldInfo[name].mandatory; + } + return false; + }, + getType: function (name) { + if (fieldInfo[name]) { + return fieldInfo[name].type + } + return false; + } + }, + }; + })(); + </script> + {/if} + </div> +{/strip} diff --git a/layouts/v7/modules/Vtiger/ListViewContents.tpl b/layouts/v7/modules/Vtiger/ListViewContents.tpl index 8041394383cf76081a8faa0a7734728ab09316f5..1771522de14d030dfe4a1e58fa667d46ff6736d8 100644 --- a/layouts/v7/modules/Vtiger/ListViewContents.tpl +++ b/layouts/v7/modules/Vtiger/ListViewContents.tpl @@ -212,7 +212,7 @@ <div class="emptyRecordsContent"> {assign var=SINGLE_MODULE value="SINGLE_$MODULE"} {vtranslate('LBL_NO')} {vtranslate($MODULE, $MODULE)} {vtranslate('LBL_FOUND')}. - {if $IS_RECORD_CREATABLE} + {if $IS_CREATE_PERMITTED} <a style="color:blue" href="{$MODULE_MODEL->getCreateRecordUrl()}"> {vtranslate('LBL_CREATE')}</a> {if Users_Privileges_Model::isPermitted($MODULE, 'Import') && $LIST_VIEW_MODEL->isImportEnabled()} {vtranslate('LBL_OR', $MODULE)} diff --git a/layouts/v7/skins/contact/style.css b/layouts/v7/skins/contact/style.css index 60ab606170386f2c4684dd6e955342e61691131c..e4f565feb5f5b3ee22b77e79659b4f869feb4db6 100644 --- a/layouts/v7/skins/contact/style.css +++ b/layouts/v7/skins/contact/style.css @@ -4960,7 +4960,6 @@ TN-34230 .relatedTabModulesList .addButton { border-radius: 2px; border: 1px solid #DDDDDD; - text-transform: uppercase; color: #666666; background: #FFFFFF; } diff --git a/layouts/v7/skins/inventory/style.css b/layouts/v7/skins/inventory/style.css index f07e059d9460f2aab288b345d7d6ade74db9c179..f8fc835882f783f829e2884084834a8b191f4bdd 100644 --- a/layouts/v7/skins/inventory/style.css +++ b/layouts/v7/skins/inventory/style.css @@ -4960,7 +4960,6 @@ TN-34230 .relatedTabModulesList .addButton { border-radius: 2px; border: 1px solid #DDDDDD; - text-transform: uppercase; color: #666666; background: #FFFFFF; } diff --git a/layouts/v7/skins/marketing/style.css b/layouts/v7/skins/marketing/style.css index b0c408defa553898fffe37afeb7a26b346ef8f33..332b24e2cb9006fd84ffd8b19f1a487efb49a435 100644 --- a/layouts/v7/skins/marketing/style.css +++ b/layouts/v7/skins/marketing/style.css @@ -4960,7 +4960,6 @@ TN-34230 .relatedTabModulesList .addButton { border-radius: 2px; border: 1px solid #DDDDDD; - text-transform: uppercase; color: #666666; background: #FFFFFF; } diff --git a/layouts/v7/skins/marketing_and_sales/style.css b/layouts/v7/skins/marketing_and_sales/style.css index f9e97b2c116d1b8d0140c1c45a10f258a0346e65..fcf59fd6613f316a46e4646d4e36ff9fcbf86630 100644 --- a/layouts/v7/skins/marketing_and_sales/style.css +++ b/layouts/v7/skins/marketing_and_sales/style.css @@ -4960,7 +4960,6 @@ TN-34230 .relatedTabModulesList .addButton { border-radius: 2px; border: 1px solid #DDDDDD; - text-transform: uppercase; color: #666666; background: #FFFFFF; } diff --git a/layouts/v7/skins/project/style.css b/layouts/v7/skins/project/style.css index ab5a67f8b13e24644597f29b3c65042a0b1b91a4..7e631f92779f51de02363b89e36c2013312df469 100644 --- a/layouts/v7/skins/project/style.css +++ b/layouts/v7/skins/project/style.css @@ -4960,7 +4960,6 @@ TN-34230 .relatedTabModulesList .addButton { border-radius: 2px; border: 1px solid #DDDDDD; - text-transform: uppercase; color: #666666; background: #FFFFFF; } diff --git a/layouts/v7/skins/sales/style.css b/layouts/v7/skins/sales/style.css index 7e7af6ac3275b023baf4ae79af72a8324977bd95..b51c53d838576274d2ead8f8681069cda0a88859 100644 --- a/layouts/v7/skins/sales/style.css +++ b/layouts/v7/skins/sales/style.css @@ -4960,7 +4960,6 @@ TN-34230 .relatedTabModulesList .addButton { border-radius: 2px; border: 1px solid #DDDDDD; - text-transform: uppercase; color: #666666; background: #FFFFFF; } diff --git a/layouts/v7/skins/support/style.css b/layouts/v7/skins/support/style.css index dd1c467928eb564cd54e73624b60b740dbc24818..494bbe7e712769959f813663fd07d0b131b55571 100644 --- a/layouts/v7/skins/support/style.css +++ b/layouts/v7/skins/support/style.css @@ -4960,7 +4960,6 @@ TN-34230 .relatedTabModulesList .addButton { border-radius: 2px; border: 1px solid #DDDDDD; - text-transform: uppercase; color: #666666; background: #FFFFFF; } diff --git a/layouts/v7/skins/tools/style.css b/layouts/v7/skins/tools/style.css index 5379f64c6ed95798f97694a5aa96c100f464bb38..1befe7e963c0ae288d6c806ea3b53f1f6e2801b9 100644 --- a/layouts/v7/skins/tools/style.css +++ b/layouts/v7/skins/tools/style.css @@ -4960,7 +4960,6 @@ TN-34230 .relatedTabModulesList .addButton { border-radius: 2px; border: 1px solid #DDDDDD; - text-transform: uppercase; color: #666666; background: #FFFFFF; } diff --git a/modules/Calendar/views/Calendar.php b/modules/Calendar/views/Calendar.php index 32e1d8604cb4476af3d3704141c1b48b1beb9542..c7d3feddd06c43d29dc3aee64c53f6b1fbe7445c 100644 --- a/modules/Calendar/views/Calendar.php +++ b/modules/Calendar/views/Calendar.php @@ -15,7 +15,7 @@ class Calendar_Calendar_View extends Vtiger_Index_View { $moduleName = $request->getModule(); $viewer->assign('MODULE_NAME', $moduleName); $moduleModel = Vtiger_Module_Model::getInstance($moduleName); - $viewer->assign('IS_RECORD_CREATABLE', $moduleModel->isPermitted('CreateView')); + $viewer->assign('IS_CREATE_PERMITTED', $moduleModel->isPermitted('CreateView')); $viewer->assign('IS_MODULE_EDITABLE', $moduleModel->isPermitted('EditView')); $viewer->assign('IS_MODULE_DELETABLE', $moduleModel->isPermitted('Delete')); diff --git a/modules/Documents/views/List.php b/modules/Documents/views/List.php index 5cdfffdbdd99398c2f13adc02863d490eb84fef3..7661fac0c9290f2dae7c13990b1ab753a1e20b8d 100644 --- a/modules/Documents/views/List.php +++ b/modules/Documents/views/List.php @@ -265,7 +265,7 @@ class Documents_List_View extends Vtiger_List_View { $viewer->assign('LISTVIEW_COUNT', $totalCount); } - $viewer->assign('IS_RECORD_CREATABLE', $listViewModel->getModule()->isPermitted('CreateView')); + $viewer->assign('IS_CREATE_PERMITTED', $listViewModel->getModule()->isPermitted('CreateView')); $viewer->assign('IS_MODULE_EDITABLE', $listViewModel->getModule()->isPermitted('EditView')); $viewer->assign('IS_MODULE_DELETABLE', $listViewModel->getModule()->isPermitted('Delete')); $viewer->assign('SEARCH_DETAILS', $searchParams); diff --git a/modules/Settings/LayoutEditor/actions/Field.php b/modules/Settings/LayoutEditor/actions/Field.php index ecd58039c4a097465124f2aa51b7f846d30f0016..2c1dc460c0cde9eb76404a887273edd68f94b0c0 100644 --- a/modules/Settings/LayoutEditor/actions/Field.php +++ b/modules/Settings/LayoutEditor/actions/Field.php @@ -30,6 +30,23 @@ class Settings_LayoutEditor_Field_Action extends Settings_Vtiger_Index_Action { $fieldModel = $moduleModel->addField($type,$blockId,$request->getAll()); $fieldInfo = $fieldModel->getFieldInfo(); $responseData = array_merge(array('id'=>$fieldModel->getId(), 'blockid'=>$blockId, 'customField'=>$fieldModel->isCustomField()),$fieldInfo); + + $defaultValue = $fieldModel->get('defaultvalue'); + $responseData['fieldDefaultValueRaw'] = $defaultValue; + if (isset($defaultValue)) { + if ($defaultValue && $fieldInfo['type'] == 'date') { + $defaultValue = DateTimeField::convertToUserFormat($defaultValue); + } else if (!$defaultValue) { + $defaultValue = $fieldModel->getDisplayValue($defaultValue); + } else if (is_array($defaultValue)) { + foreach ($defaultValue as $key => $value) { + $defaultValue[$key] = $fieldModel->getDisplayValue($value); + } + $defaultValue = Zend_Json::encode($defaultValue); + } + } + $responseData['fieldDefaultValue'] = $defaultValue; + $response->setResult($responseData); }catch(Exception $e) { $response->setError($e->getCode(), $e->getMessage()); @@ -86,11 +103,11 @@ class Settings_LayoutEditor_Field_Action extends Settings_Vtiger_Index_Action { $fieldInfo = $fieldInstance->getFieldInfo(); $fieldInfo['id'] = $fieldInstance->getId(); + $fieldInfo['fieldDefaultValueRaw'] = $defaultValue; if (isset($defaultValue)) { if ($defaultValue && $fieldInfo['type'] == 'date') { - $fieldInfo['fieldDefaultValue'] = DateTimeField::convertToUserFormat($defaultValue); + $defaultValue = DateTimeField::convertToUserFormat($defaultValue); } else if (!$defaultValue) { - $fieldInfo['fieldDefaultValueRaw'] = strip_tags($defaultValue); $defaultValue = $fieldInstance->getDisplayValue($defaultValue); } else if (is_array($defaultValue)) { foreach ($defaultValue as $key => $value) { @@ -98,9 +115,9 @@ class Settings_LayoutEditor_Field_Action extends Settings_Vtiger_Index_Action { } $defaultValue = Zend_Json::encode($defaultValue); } - $fieldInfo['fieldDefaultValue'] = $defaultValue; } - + $fieldInfo['fieldDefaultValue'] = $defaultValue; + $response->setResult(array_merge(array('success'=>true), $fieldInfo)); }catch(Exception $e) { $response->setError($e->getCode(), $e->getMessage()); diff --git a/modules/Settings/LayoutEditor/models/Module.php b/modules/Settings/LayoutEditor/models/Module.php index 01c903d99760df1070c558255f5f9e6e74e6c591..562febcfee5e140722b3f4f5f8ae718f6abe40d9 100644 --- a/modules/Settings/LayoutEditor/models/Module.php +++ b/modules/Settings/LayoutEditor/models/Module.php @@ -176,7 +176,19 @@ class Settings_LayoutEditor_Module_Model extends Vtiger_Module_Model { if(strtolower($fieldType) == 'date') { $dateInstance = new Vtiger_Date_UIType(); $defaultValue = $dateInstance->getDBInsertedValue($defaultValue); + } else if (strtolower($fieldType) == 'time') { + $defaultValue = Vtiger_Time_UIType::getTimeValueWithSeconds($defaultValue); + } else if (strtolower($fieldType) == 'currency') { + $defaultValue = CurrencyField::convertToDBFormat($defaultValue, null, true); + } else if (strtolower($fieldType) == 'decimal') { + $defaultValue = CurrencyField::convertToDBFormat($defaultValue, null, true); } + + if (is_array($defaultValue)) { + $defaultValue = implode(' |##| ', $defaultValue); + } + $fieldModel->set('defaultvalue', $defaultValue); + $blockModel = Vtiger_Block_Model::getInstance($blockId, $this); $blockModel->addField($fieldModel); diff --git a/modules/Users/views/Calendar.php b/modules/Users/views/Calendar.php index c386e9b3a54e59688a98d408dd839e32afe105ec..731325c3afdf71724512bf265a7fe00a5e73845e 100644 --- a/modules/Users/views/Calendar.php +++ b/modules/Users/views/Calendar.php @@ -54,6 +54,7 @@ class Users_Calendar_View extends Vtiger_Detail_View { $viewer->assign('MODULE_MODEL', $detailViewModel->getModule()); $viewer->assign('DETAILVIEW_LINKS', $detailViewLinks); + $viewer->assign('MODULE_BASIC_ACTIONS', array()); $viewer->assign('IS_EDITABLE', $detailViewModel->getRecord()->isEditable($moduleName)); $viewer->assign('IS_DELETABLE', $detailViewModel->getRecord()->isDeletable($moduleName)); diff --git a/modules/Vtiger/views/List.php b/modules/Vtiger/views/List.php index 94973858b1791d005ddea7ecb72e4d270d610c81..b14686e6bb501661f2f164eabed028d151fb0b56 100644 --- a/modules/Vtiger/views/List.php +++ b/modules/Vtiger/views/List.php @@ -402,7 +402,7 @@ class Vtiger_List_View extends Vtiger_Index_View { } $viewer->assign('LIST_VIEW_MODEL', $listViewModel); $viewer->assign('GROUPS_IDS', Vtiger_Util_Helper::getGroupsIdsForUsers($currentUser->getId())); - $viewer->assign('IS_RECORD_CREATABLE', $listViewModel->getModule()->isPermitted('CreateView')); + $viewer->assign('IS_CREATE_PERMITTED', $listViewModel->getModule()->isPermitted('CreateView')); $viewer->assign('IS_MODULE_EDITABLE', $listViewModel->getModule()->isPermitted('EditView')); $viewer->assign('IS_MODULE_DELETABLE', $listViewModel->getModule()->isPermitted('Delete')); $viewer->assign('SEARCH_DETAILS', $searchParams); diff --git a/packages/vtiger/optional/EmailTemplates.zip b/packages/vtiger/optional/EmailTemplates.zip index 11bf193c6cff63c370e6dc5cf0755d99b3ed05a2..e72a57f2c8ea36b86cecc70466e28312eb3399be 100644 Binary files a/packages/vtiger/optional/EmailTemplates.zip and b/packages/vtiger/optional/EmailTemplates.zip differ diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/List.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/List.php index 0ba8ca351da9f70a2cce6fa83dbc2c8419b5f88c..225730d592c14526854a3c2b5114507811f6537f 100644 --- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/List.php +++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/List.php @@ -204,7 +204,7 @@ class EmailTemplates_List_View extends Vtiger_Index_View { } $viewer->assign('LIST_VIEW_MODEL', $listViewModel); - $viewer->assign('IS_RECORD_CREATABLE', $listViewModel->getModule()->isPermitted('CreateView')); + $viewer->assign('IS_CREATE_PERMITTED', $listViewModel->getModule()->isPermitted('CreateView')); $viewer->assign('IS_MODULE_EDITABLE', $listViewModel->getModule()->isPermitted('EditView')); $viewer->assign('IS_MODULE_DELETABLE', $listViewModel->getModule()->isPermitted('Delete')); } diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Popup.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Popup.php index 3376e7f80294402219919632584448ed5afe5273..0179f97e45168a4a06412d7b1f6f45612d0aea6c 100644 --- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Popup.php +++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Popup.php @@ -106,7 +106,7 @@ class EmailTemplates_Popup_View extends Vtiger_Popup_View { $viewer->assign('LISTVIEW_COUNT', $this->listViewCount); } - $viewer->assign('IS_RECORD_CREATABLE', $listViewModel->getModule()->isPermitted('CreateView')); + $viewer->assign('IS_CREATE_PERMITTED', $listViewModel->getModule()->isPermitted('CreateView')); $viewer->assign('IS_MODULE_EDITABLE', $listViewModel->getModule()->isPermitted('EditView')); $viewer->assign('IS_MODULE_DELETABLE', $listViewModel->getModule()->isPermitted('Delete')); diff --git a/pkg/vtiger/modules/ModComments/layouts/v7/modules/ModComments/ListViewContents.tpl b/pkg/vtiger/modules/ModComments/layouts/v7/modules/ModComments/ListViewContents.tpl index 9fa63f8fc29b8f9b58383a745dcaba8543413f29..40254a5ecdca6f71dece251734caec30425cbd75 100644 --- a/pkg/vtiger/modules/ModComments/layouts/v7/modules/ModComments/ListViewContents.tpl +++ b/pkg/vtiger/modules/ModComments/layouts/v7/modules/ModComments/ListViewContents.tpl @@ -164,7 +164,7 @@ <div class="emptyRecordsContent"> {assign var=SINGLE_MODULE value="SINGLE_$MODULE"} {vtranslate('LBL_NO')} {vtranslate($MODULE, $MODULE)} {vtranslate('LBL_FOUND')}. - {if $IS_RECORD_CREATABLE} + {if $IS_CREATE_PERMITTED} <a style="color:blue" href="{$MODULE_MODEL->getCreateRecordUrl()}"> {vtranslate('LBL_CREATE')}</a> {if Users_Privileges_Model::isPermitted($MODULE, 'Import') && $LIST_VIEW_MODEL->isImportEnabled()} {vtranslate('LBL_OR', $MODULE)}