HomeHelpTrac

Changeset 15969


Ignore:
Timestamp:
02/09/12 19:47:07 (4 months ago)
Author:
Anton Lesnikov
Message:
  1. Language key removing in Studio -> Page Builder -> Delete Block.
  2. Visible For Levels feature unification.
Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/install/sql/v70.sql

    r15966 r15969  
    28692869('sys_studio_forms_fields', 'order', '', '1%', '', '', 1), 
    28702870('sys_studio_forms_fields', 'switcher', '', '9%', '', '', 2), 
    2871 ('sys_studio_forms_fields', 'title', '_adm_form_txt_fields_title', '40%', '53', '', 3), 
     2871('sys_studio_forms_fields', 'title', '_adm_form_txt_fields_title', '30%', '43', '', 3), 
    28722872('sys_studio_forms_fields', 'type', '_adm_form_txt_fields_type', '15%', '13', '', 4), 
    28732873('sys_studio_forms_fields', 'module', '_adm_form_txt_fields_module', '15%', '13', '', 5), 
    2874 ('sys_studio_forms_fields', 'actions', '', '20%', '', '', 6), 
     2874('sys_studio_forms_fields', 'visible_for_levels', '_adm_form_txt_fields_visible', '10%', '10', '', 6), 
     2875('sys_studio_forms_fields', 'actions', '', '20%', '', '', 7), 
    28752876('sys_studio_forms_pre_lists', 'title', '_adm_form_txt_pre_lists_title', '25%', '28', '', 1), 
    28762877('sys_studio_forms_pre_lists', 'key', '_adm_form_txt_pre_lists_key', '20%', '23', '', 2), 
     
    29272928('sys_studio_forms_fields', 'single', 'edit', '', 'document--pencil.png', 0, 1), 
    29282929('sys_studio_forms_fields', 'single', 'delete', '', 'cross.png', 1, 2), 
     2930('sys_studio_forms_fields', 'single', 'show_to', '_adm_form_btn_fields_visible', '', 0, 3), 
    29292931('sys_studio_forms_fields', 'independent', 'add', '_adm_form_btn_fields_create', '', 0, 1), 
    29302932('sys_studio_forms_pre_lists', 'independent', 'add', '_adm_form_btn_pre_lists_create', '', 0, 1), 
  • trunk/modules/boonex/english/install/data/langs/en.xml

    r15967 r15969  
    21512151    <string name="_adm_nav_txt_all_sets"><![CDATA[All Sets]]></string> 
    21522152    <string name="_adm_nav_txt_manage_items"><![CDATA[Manage actions]]></string> 
     2153    <string name="_adm_nav_txt_manage_visibility"><![CDATA[Manage visibility settings]]></string> 
    21532154    <string name="_adm_nav_txt_n_items"><![CDATA[{0} items]]></string> 
    21542155    <string name="_adm_nav_txt_select_set"><![CDATA[Select Set...]]></string> 
     
    22412242    <string name="_adm_nav_txt_items_show_to_popup"><![CDATA[Show "{0}" menu item to: ]]></string> 
    22422243    <string name="_adm_nav_err_items_show_to"><![CDATA[Cannot update item]]></string> 
    2243     <string name="_adm_nav_txt_block_visible_for"><![CDATA[Visible For]]></string> 
    2244     <string name="_adm_nav_txt_block_visible_for_all"><![CDATA[Anyone]]></string> 
    2245     <string name="_adm_nav_txt_block_visible_for_selected"><![CDATA[Selected levels]]></string> 
     2244    <string name="_adm_nav_txt_items_visible_for"><![CDATA[Visible For]]></string> 
     2245    <string name="_adm_nav_txt_items_visible_for_all"><![CDATA[Anyone]]></string> 
     2246    <string name="_adm_nav_txt_items_visible_for_selected"><![CDATA[Selected levels]]></string> 
    22462247    <string name="_adm_nav_txt_items_visible_for_levels"><![CDATA[Select Levels]]></string> 
    22472248    <string name="_adm_nav_dsc_items_visible_for_levels"><![CDATA[Select user levels that can see this menu item]]></string> 
     
    22662267    <string name="_adm_form_txt_fields_type"><![CDATA[Type]]></string> 
    22672268    <string name="_adm_form_txt_fields_module"><![CDATA[Module]]></string> 
     2269    <string name="_adm_form_txt_fields_visible"><![CDATA[Visible For]]></string> 
     2270    <string name="_adm_form_btn_fields_visible"><![CDATA[Visibile For]]></string> 
     2271    <string name="_adm_form_txt_fields_manage_visibility"><![CDATA[Manage visibility settings]]></string> 
     2272    <string name="_adm_form_txt_fields_anyone"><![CDATA[Anyone]]></string> 
     2273    <string name="_adm_form_txt_fields_n_user_levels"><![CDATA[{0} User Levels]]></string> 
    22682274    <string name="_adm_form_txt_forms_manage_displays"><![CDATA[Manage displays]]></string> 
    22692275    <string name="_adm_form_txt_forms_n_displays"><![CDATA[{0} displays]]></string> 
     
    23052311    <string name="_adm_form_txt_field_edit_popup"><![CDATA[Edit "{0}" Field]]></string> 
    23062312    <string name="_adm_form_err_field_edit"><![CDATA[Cannot update field]]></string> 
    2307     <string name="_adm_from_err_fields_delete"><![CDATA[Cannot delete field]]></string> 
     2313    <string name="_adm_from_err_field_delete"><![CDATA[Cannot delete field]]></string> 
     2314    <string name="_adm_form_txt_field_show_to_popup"><![CDATA[Show "{0}" menu item to: ]]></string> 
     2315    <string name="_adm_form_err_field_show_to"><![CDATA[Cannot update field]]></string> 
     2316    <string name="_adm_form_txt_field_visible_for"><![CDATA[Visible For]]></string> 
     2317    <string name="_adm_form_txt_field_visible_for_all"><![CDATA[Anyone]]></string> 
     2318    <string name="_adm_form_txt_field_visible_for_selected"><![CDATA[Selected levels]]></string> 
     2319    <string name="_adm_form_txt_field_visible_for_levels"><![CDATA[Select Levels]]></string> 
     2320    <string name="_adm_form_dsc_field_visible_for_levels"><![CDATA[Select user levels that can see this menu item]]></string> 
    23082321    <string name="_adm_form_btn_field_add"><![CDATA[Add]]></string> 
    23092322    <string name="_adm_form_btn_field_save"><![CDATA[Save]]></string> 
  • trunk/studio/classes/BxDolStudioFormsQuery.php

    r15953 r15969  
    148148            case 'by_object_id': 
    149149                $aMethod['name'] = 'getRow'; 
    150                 $sSelectClause = "`ti`.*, `tdi`.`id` AS `di_id`, `tdi`.`display_name` AS `display_name`"; 
     150                $sSelectClause = "`ti`.*, `tdi`.`id` AS `di_id`, `tdi`.`display_name` AS `display_name`, `tdi`.`visible_for_levels` AS `visible_for_levels`"; 
    151151                $sWhereClause = $this->prepare(" AND `ti`.`object`=? AND `tdi`.`id`=? ", $aParams['object'], $aParams['id']); 
    152152                break; 
  • trunk/studio/js/forms_fields.js

    r15906 r15969  
    5353    } 
    5454}; 
     55 
     56BxDolStudioFormsFields.prototype.onChangeVisibleFor = function(oSelect) { 
     57    $('#bx-form-element-visible_for_levels').bx_anim($(oSelect).val() == 'all' ? 'hide' : 'show', this.sAnimationEffect, this.iAnimationSpeed); 
     58}; 
    5559/** @} */ 
  • trunk/studio/templates/base/scripts/BxBaseStudioBuilderPage.php

    r15968 r15969  
    10791079    protected function actionBlockDelete() { 
    10801080        $sJsObject = $this->getPageJsObject(); 
    1081  
    10821081        $iId = (int)bx_get('id'); 
     1082 
     1083        $aBlock = array(); 
     1084        $this->oDb->getBlocks(array('type' => 'by_id', 'value' => $iId), $aBlock, false); 
     1085        if(empty($aBlock) || !is_array($aBlock)) 
     1086            return array('msg' => _t('_adm_bp_err_block_not_found')); 
     1087 
    10831088        if(!$this->oDb->deleteBlocks(array('type' => 'by_id', 'value' => $iId))) 
    10841089            return array('msg' => _t('_adm_bp_err_block_delete')); 
     1090 
     1091        bx_import('BxDolStudioLanguagesUtils'); 
     1092        BxDolStudioLanguagesUtils::getInstance()->deleteLanguageString($aBlock['title']); 
    10851093 
    10861094        return array('eval' => $sJsObject . '.onDeleteBlock(' . $iId . ', oData)'); 
  • trunk/studio/templates/base/scripts/BxBaseStudioFormsFields.php

    r15953 r15969  
    117117        } 
    118118 
    119         $this->_echoResultJson($iAffected ? array('grid' => $this->getCode(false), 'blink' => $aIdsAffected) : array('msg' => _t('_adm_from_err_fields_delete'))); 
     119        $this->_echoResultJson($iAffected ? array('grid' => $this->getCode(false), 'blink' => $aIdsAffected) : array('msg' => _t('_adm_from_err_field_delete'))); 
     120    } 
     121 
     122    public function performActionShowTo() { 
     123        $sAction = 'show_to'; 
     124 
     125        $aIds = bx_get('ids'); 
     126        if(!$aIds || !is_array($aIds)) { 
     127            $iId = (int)bx_get('id'); 
     128            if(!$iId) { 
     129                $this->_echoResultJson(array()); 
     130                exit; 
     131            } 
     132 
     133            $aIds = array($iId); 
     134        } 
     135 
     136        $iId = $aIds[0]; 
     137                 
     138        $aField = array(); 
     139        $this->oDb->getFields(array('type' => 'by_object_id', 'object' => $this->sObject, 'id' => (int)$iId), $aField, false); 
     140        if(empty($aField) || !is_array($aField)) { 
     141            $this->_echoResultJson(array()); 
     142            exit; 
     143        } 
     144 
     145        $aForm = array( 
     146            'form_attrs' => array( 
     147                'id' => 'adm-form-field-visibility', 
     148                'action' => BX_DOL_URL_ROOT . 'grid.php?o=' . $this->_sObject . '&a=' . $sAction . '&object=' . $this->sObject . '&display=' . $this->sDisplay, 
     149                'method' => 'post' 
     150            ), 
     151            'params' => array ( 
     152                'db' => array( 
     153                    'table' => 'sys_form_display_inputs', 
     154                    'key' => 'id', 
     155                    'uri' => '', 
     156                    'uri_title' => '', 
     157                    'submit_name' => 'do_submit' 
     158                ), 
     159            ), 
     160            'inputs' => array ( 
     161                'id' => array( 
     162                    'type' => 'hidden', 
     163                    'name' => 'id', 
     164                    'value' => $iId, 
     165                    'db' => array ( 
     166                        'pass' => 'Int', 
     167                    ), 
     168                ), 
     169                'visible_for' => array( 
     170                    'type' => 'select', 
     171                    'name' => 'visible_for', 
     172                    'caption' => _t('_adm_form_txt_field_visible_for'), 
     173                    'info' => '', 
     174                    'value' => $aField['visible_for_levels'] == BX_DOL_INT_MAX ? BX_DOL_STUDIO_VISIBLE_ALL : BX_DOL_STUDIO_VISIBLE_SELECTED, 
     175                    'values' => array( 
     176                        array('key' => BX_DOL_STUDIO_VISIBLE_ALL, 'value' => _t('_adm_form_txt_field_visible_for_all')), 
     177                        array('key' => BX_DOL_STUDIO_VISIBLE_SELECTED, 'value' => _t('_adm_form_txt_field_visible_for_selected')), 
     178                    ), 
     179                    'required' => '0', 
     180                    'attrs' => array( 
     181                        'onchange' => $this->getJsObject() . '.onChangeVisibleFor(this)' 
     182                    ), 
     183                    'db' => array ( 
     184                        'pass' => 'Xss', 
     185                    ) 
     186                ), 
     187                'visible_for_levels' => array( 
     188                    'type' => 'checkbox_set', 
     189                    'name' => 'visible_for_levels', 
     190                    'caption' => _t('_adm_form_txt_field_visible_for_levels'), 
     191                    'info' => _t('_adm_form_dsc_field_visible_for_levels'), 
     192                    'value' => '', 
     193                    'values' => array(), 
     194                    'tr_attrs' => array( 
     195                        'style' => $aField['visible_for_levels'] == BX_DOL_INT_MAX ? 'display:none' : '' 
     196                    ), 
     197                    'db' => array ( 
     198                        'pass' => 'Int', 
     199                    ), 
     200                ), 
     201                'controls' => array( 
     202                    'name' => 'controls',  
     203                    'type' => 'input_set', 
     204                    array( 
     205                        'type' => 'submit', 
     206                        'name' => 'do_submit', 
     207                        'value' => _t('_adm_form_btn_field_save'), 
     208                    ), 
     209                    array ( 
     210                        'type' => 'reset', 
     211                        'name' => 'close', 
     212                        'value' => _t('_adm_form_btn_field_cancel'), 
     213                        'attrs' => array( 
     214                            'onclick' => "$('.bx-popup-applied:visible').dolPopupHide()", 
     215                            'class' => 'bx-def-margin-sec-left', 
     216                        ), 
     217                    ) 
     218                ) 
     219            ) 
     220        ); 
     221 
     222        BxDolStudioUtils::getVisibilityValues($aField['visible_for_levels'], $aForm['inputs']['visible_for_levels']['values'], $aForm['inputs']['visible_for_levels']['value']); 
     223 
     224        bx_import('BxTemplStudioFormView'); 
     225        $oForm = new BxTemplStudioFormView($aForm); 
     226        $oForm->initChecker(); 
     227 
     228        if($oForm->isSubmittedAndValid()) { 
     229            $iVisibleFor = BxDolStudioUtils::getVisibilityValue($oForm->getCleanValue('visible_for'), $oForm->getCleanValue('visible_for_levels')); 
     230            BxDolForm::setSubmittedValue('visible_for_levels', $iVisibleFor, $aForm['form_attrs']['method']); 
     231            unset($oForm->aInputs['visible_for']); 
     232 
     233            if($oForm->update($iId) !== false) 
     234                $aRes = array('grid' => $this->getCode(false), 'blink' => $iId); 
     235            else 
     236                $aRes = array('msg' => _t('_adm_form_err_field_show_to')); 
     237 
     238            $this->_echoResultJson($aRes, true); 
     239        } 
     240        else { 
     241            bx_import('BxTemplStudioFunctions'); 
     242            $sContent = BxTemplStudioFunctions::getInstance()->popupBox('adm-form-field-show-to-popup', _t('_adm_form_txt_field_show_to_popup', _t($aField['caption'])), $this->_oTemplate->parseHtmlByName('form_add_field.html', array( 
     243                'form_id' => $aForm['form_attrs']['id'], 
     244                'form' => $oForm->getCode(), 
     245                'object' => $this->_sObject, 
     246                'action' => $sAction 
     247            ))); 
     248 
     249            $this->_echoResultJson(array('popup' => $sContent), true); 
     250        } 
    120251    } 
    121252 
     
    157288    } 
    158289 
     290    protected function _getCellVisibleForLevels ($mixedValue, $sKey, $aField, $aRow) { 
     291        if((int)$aRow['editable'] == 0) 
     292            return ''; 
     293 
     294        $iCount = BxDolStudioUtils::getVisibilityCount($aRow['visible_for_levels']); 
     295 
     296        $mixedValue = $this->_oTemplate->parseHtmlByName('bx_a.html', array( 
     297            'href' => 'javascript:void(0)', 
     298            'title' => _t('_adm_form_txt_fields_manage_visibility'), 
     299            'bx_repeat:attrs' => array( 
     300                array('key' => 'bx_grid_action_single', 'value' => 'show_to'), 
     301                array('key' => 'bx_grid_action_data', 'value' => $aRow['id']) 
     302            ), 
     303            'content' => $iCount != -1 ? _t('_adm_form_txt_fields_n_user_levels', $iCount) : _t('_adm_form_txt_fields_anyone') 
     304        )); 
     305 
     306        return parent::_getCellDefault ($mixedValue, $sKey, $aField, $aRow); 
     307    } 
     308 
    159309    protected function _getActionAdd ($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = array()) { 
    160310        if($this->sDisplay == '') 
     
    176326 
    177327        return  parent::_getActionDefault($sType, $sKey, $a, false, $isDisabled, $aRow);         
     328    } 
     329 
     330    protected function _getActionShowTo ($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = array()) { 
     331        return ''; 
    178332    } 
    179333 
  • trunk/studio/templates/base/scripts/BxBaseStudioNavigationItems.php

    r15967 r15969  
    529529                    'type' => 'select', 
    530530                    'name' => 'visible_for', 
    531                     'caption' => _t('_adm_nav_txt_block_visible_for'), 
     531                    'caption' => _t('_adm_nav_txt_items_visible_for'), 
    532532                    'info' => '', 
    533533                    'value' => $aItem['visible_for_levels'] == BX_DOL_INT_MAX ? BX_DOL_STUDIO_VISIBLE_ALL : BX_DOL_STUDIO_VISIBLE_SELECTED, 
    534534                    'values' => array( 
    535                         array('key' => BX_DOL_STUDIO_VISIBLE_ALL, 'value' => _t('_adm_nav_txt_block_visible_for_all')), 
    536                         array('key' => BX_DOL_STUDIO_VISIBLE_SELECTED, 'value' => _t('_adm_nav_txt_block_visible_for_selected')), 
     535                        array('key' => BX_DOL_STUDIO_VISIBLE_ALL, 'value' => _t('_adm_nav_txt_items_visible_for_all')), 
     536                        array('key' => BX_DOL_STUDIO_VISIBLE_SELECTED, 'value' => _t('_adm_nav_txt_items_visible_for_selected')), 
    537537                    ), 
    538538                    'required' => '0', 
     
    668668        $mixedValue = $this->_oTemplate->parseHtmlByName('bx_a.html', array( 
    669669            'href' => 'javascript:void(0)', 
    670             'title' => _t('_adm_nav_txt_manage_items'), 
     670            'title' => _t('_adm_nav_txt_manage_visibility'), 
    671671            'bx_repeat:attrs' => array( 
    672672                array('key' => 'bx_grid_action_single', 'value' => 'show_to'), 
Note: See TracChangeset for help on using the changeset viewer.