HomeHelpTrac

Changeset 15915


Ignore:
Timestamp:
01/24/12 05:19:32 (4 months ago)
Author:
Anton Lesnikov
Message:

Improvements in ACL Level creation

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/inc/classes/BxDolAclQuery.php

    r15794 r15915  
    5757                $sWhereClause .= "AND `tal`.`Active`='yes' AND `tal`.`Purchasable`='yes'"; 
    5858                break; 
    59             case 'all': 
    60                 break; 
    6159            case 'all_pair': 
    6260                $aMethod['name'] = "getPairs"; 
    6361                $aMethod['params'][1] = 'id'; 
    6462                $aMethod['params'][2] = 'name'; 
     63                break; 
     64            case 'all_order_id': 
     65                $sOrderClause = "ORDER BY `tal`.`ID` ASC"; 
     66                break; 
     67            case 'all': 
    6568                break; 
    6669        } 
  • trunk/modules/boonex/english/install/data/langs/en.xml

    r15914 r15915  
    20792079    <string name="_adm_prm_txt_level_create_popup"><![CDATA[Add New Level]]></string> 
    20802080    <string name="_adm_prm_txt_level_edit_popup"><![CDATA[Edit "{0}" Level]]></string> 
     2081    <string name="_adm_prm_err_level_id"><![CDATA[Membership levels limit is reached.]]></string> 
    20812082    <string name="_adm_prm_txt_level_name"><![CDATA[Title]]></string> 
    20822083    <string name="_adm_prm_dsc_level_name"><![CDATA[Short name for the membership level (i.e Premium, Gold, Newcomer, etc.)]]></string> 
     
    21002101    <string name="_adm_prm_btn_level_cancel"><![CDATA[Cancel]]></string> 
    21012102    <string name="_adm_prm_err_level_create"><![CDATA[Cannot create membership level]]></string> 
     2103    <string name="_adm_prm_err_level_edit"><![CDATA[Cannot update membership level]]></string> 
    21022104    <string name="_adm_prm_err_level_delete"><![CDATA[Cannot delete membership level]]></string> 
    21032105    <string name="_adm_prm_txt_level_unauthenticated"><![CDATA[Unauthenticated]]></string> 
  • trunk/studio/classes/BxDolStudioPermissionsLevels.php

    r15817 r15915  
    1212bx_import('BxDolStudioTemplate'); 
    1313bx_import('BxDolStudioPermissionsQuery'); 
     14 
     15define('BX_DOL_STUDIO_PERMISSIONS_LEVEL_ID_INT_MAX', round(log(PHP_INT_MAX, 2))); 
    1416 
    1517class BxDolStudioPermissionsLevels extends BxTemplStudioGrid { 
  • trunk/studio/templates/base/scripts/BxBaseStudioNavigationMenus.php

    r15914 r15915  
    214214    } 
    215215 
    216     protected function updateSetFields(&$oForm) { 
    217         if($oForm->getCleanValue('set_name') != $this->sCreateNew) 
    218             unset($oForm->aInputs['set_title']['checker']); 
    219         else 
    220             unset($oForm->aInputs['set_title']['tr_attrs']['style']); 
    221     } 
    222  
    223216    public function performActionEdit() { 
    224217        $sAction = 'edit'; 
     
    555548        return  $sContent; 
    556549    } 
     550 
     551    protected function updateSetFields(&$oForm) { 
     552        if($oForm->getCleanValue('set_name') != $this->sCreateNew) 
     553            unset($oForm->aInputs['set_title']['checker']); 
     554        else 
     555            unset($oForm->aInputs['set_title']['tr_attrs']['style']); 
     556    } 
    557557} 
    558558/** @} */ 
  • trunk/studio/templates/base/scripts/BxBaseStudioPermissionsLevels.php

    r15817 r15915  
    173173 
    174174        if($oForm->isSubmittedAndValid()) { 
     175            if(($iId = $this->getAvailableId()) === false) { 
     176                $this->_echoResultJson(array('msg' => _t('_adm_prm_err_level_id')), true); 
     177                return; 
     178            } 
     179 
    175180            $mixedIcon = 'acl-authenticated.png'; 
    176181            if(!empty($_FILES['Icon']['tmp_name'])) { 
     
    197202            $oForm->setSubmittedValue('Name', $sTitleKey, $aForm['form_attrs']['method']); 
    198203 
    199             $iId = (int)$oForm->insert(array('Icon' => $mixedIcon, 'Order' => $this->oDb->getLevelOrderMax() + 1)); 
     204            $iId = (int)$oForm->insert(array('ID' => $iId, 'Icon' => $mixedIcon, 'Order' => $this->oDb->getLevelOrderMax() + 1)); 
    200205            if($iId != 0) { 
    201206                bx_import('BxDolStudioLanguagesUtils'); 
     
    392397                $aRes = array('grid' => $this->getCode(false), 'blink' => $iId); 
    393398            else 
    394                 $aRes = array('msg' => _t('_adm_prm_err_level_create')); 
     399                $aRes = array('msg' => _t('_adm_prm_err_level_edit')); 
    395400 
    396401            $this->_echoResultJson($aRes, true); 
     
    518523        return  parent::_getActionDefault($sType, $sKey, $a, false, $isDisabled, $aRow); 
    519524    } 
     525 
     526    protected function getAvailableId() { 
     527        $aLevels = array(); 
     528        $this->oDb->getLevels(array('type' =>'all_order_id'), $aLevels, false); 
     529 
     530        $iId = 1; 
     531        foreach($aLevels as $aLevel) { 
     532            if($iId != (int)$aLevel['id']) 
     533                break; 
     534 
     535            $iId++; 
     536        } 
     537 
     538        return $iId <= BX_DOL_STUDIO_PERMISSIONS_LEVEL_ID_INT_MAX ? $iId : false; 
     539    } 
    520540} 
    521541/** @} */ 
Note: See TracChangeset for help on using the changeset viewer.