Changeset 12858

Show
Ignore:
Timestamp:
10/17/07 16:04:40 (1 year ago)
Author:
bergie
Message:

View listing folders a group has any permissions set for

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/midcom/midcom.admin.user/handler/group/edit.php

    r12824 r12858  
    145145        $this->_update_breadcrumb(); 
    146146         
     147        $data['asgard_toolbar']->add_item 
     148        ( 
     149            array 
     150            ( 
     151                MIDCOM_TOOLBAR_URL => "__mfa/asgard_midcom.admin.user/group/folders/{$this->_group->guid}/", 
     152                MIDCOM_TOOLBAR_LABEL => $_MIDCOM->i18n->get_string('folders', 'midcom.admin.user'), 
     153                MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/folder.png', 
     154            ) 
     155        ); 
     156         
    147157        return true; 
    148158    } 
  • trunk/midcom/midcom.admin.user/handler/group/permissions.php

    r12824 r12858  
    1313 * @package midcom.admin.user 
    1414 */ 
    15 class midcom_admin_user_handler_group_edit extends midcom_baseclasses_components_handler 
     15class midcom_admin_user_handler_group_permissions extends midcom_baseclasses_components_handler 
    1616{ 
    1717    var $_group = null; 
     
    2222     * @access public 
    2323     */ 
    24     function midcom_admin_user_handler_group_edit() 
     24    function midcom_admin_user_handler_group_permissions() 
    2525    { 
    2626        $this->_component = 'midcom.admin.user'; 
     
    5252        // Populate breadcrumb 
    5353        $tmp = Array(); 
     54        $grp = $this->_group; 
    5455         
    55         $grp = $this->_group;        
     56        $tmp[] = Array 
     57        ( 
     58            MIDCOM_NAV_URL => "__mfa/asgard_midcom.admin.user/group/folders/{$grp->guid}", 
     59            MIDCOM_NAV_NAME => $_MIDCOM->i18n->get_string('folders', 'midcom.admin.user'), 
     60        ); 
     61         
    5662        while ($grp) 
    5763        {         
     
    7278        $_MIDCOM->set_custom_context_data('midcom.helper.nav.breadcrumb', $tmp); 
    7379    } 
    74  
    75     /** 
    76      * Loads and prepares the schema database. 
    77      */ 
    78     function _load_schemadb() 
    79     { 
    80         $this->_schemadb = midcom_helper_datamanager2_schema::load_database($this->_config->get('schemadb_group')); 
    81     } 
    82  
    83     /** 
    84      * Internal helper, loads the controller for the current group. Any error triggers a 500. 
    85      * 
    86      * @access private 
    87      */ 
    88     function _load_controller() 
    89     { 
    90         $this->_load_schemadb(); 
    91         $this->_controller =& midcom_helper_datamanager2_controller::create('simple'); 
    92         $this->_controller->schemadb =& $this->_schemadb; 
    93         $this->_controller->set_storage($this->_group, 'default'); 
    94         if (! $this->_controller->initialize()) 
    95         { 
    96             $_MIDCOM->generate_error(MIDCOM_ERRCRIT, "Failed to initialize a DM2 controller instance for group {$this->_group->id}."); 
    97             // This will exit. 
    98         } 
    99     } 
    100  
    10180     
    10281    /** 
     
    10988     * @return boolean Indicating successful request 
    11089     */ 
    111     function _handler_edit($handler_id, $args, &$data) 
     90    function _handler_folders($handler_id, $args, &$data) 
    11291    { 
    11392        $this->_group = new midcom_db_group($args[0]); 
     
    11796            return false; 
    11897        } 
    119         $this->_group->require_do('midgard:update'); 
    12098     
    121                  
    12299        $data['asgard_toolbar'] = new midcom_helper_toolbar(); 
    123          
    124         $this->_load_controller(); 
    125         switch ($this->_controller->process_form()) 
    126         { 
    127             case 'save': 
    128                 // Show confirmation for the group 
    129                 $_MIDCOM->uimessages->add($this->_l10n->get('midcom.admin.user'), sprintf($this->_l10n->get('group %s saved'), $this->_group->name)); 
    130                 $_MIDCOM->relocate("__mfa/asgard_midcom.admin.user/group/edit/{$this->_group->guid}/"); 
    131                 // This will exit. 
    132                  
    133             case 'cancel': 
    134                 $_MIDCOM->relocate('__mfa/asgard_midcom.admin.user/'); 
    135                 // This will exit. 
    136         } 
    137          
    138  
    139100        $data['language_code'] = ''; 
    140101        midgard_admin_asgard_plugin::bind_to_object($this->_group, $handler_id, &$data); 
    141102 
    142         $data['view_title'] = sprintf($_MIDCOM->i18n->get_string('edit %s', 'midcom.admin.user'), $this->_group->official); 
     103        $qb = new midgard_query_builder('midcom_core_privilege_db'); 
     104        $qb->add_constraint('assignee', '=', "group:{$this->_group->guid}"); 
     105        $privileges = $qb->execute(); 
     106        $data['objects'] = array(); 
     107        $data['privileges'] = array(); 
     108        foreach ($privileges as $privilege) 
     109        { 
     110            if (!$privilege->objectguid) 
     111            { 
     112                // We're only interested in privs applying to objects now, skip 
     113                continue; 
     114            } 
     115            $data['privileges'][] = $privilege->name; 
     116            if (!isset($data['objects'][$privilege->objectguid])) 
     117            { 
     118                $data['objects'][$privilege->objectguid] = array(); 
     119            } 
     120            $data['objects'][$privilege->objectguid][$privilege->name] = $privilege->value; 
     121        } 
     122 
     123        $data['view_title'] = sprintf($_MIDCOM->i18n->get_string('folders of %s', 'midcom.admin.user'), $this->_group->official); 
    143124        $_MIDCOM->set_pagetitle($data['view_title']); 
    144125 
     
    155136     * @param mixed $data Data passed to the show method 
    156137     */ 
    157     function _show_edit($handler_id, &$data) 
     138    function _show_folders($handler_id, &$data) 
    158139    { 
    159140        midgard_admin_asgard_plugin::asgard_header();         
    160141 
    161142        $data['group'] =& $this->_group; 
    162         $data['controller'] =& $this->_controller; 
    163         midcom_show_style('midcom-admin-user-group-edit'); 
     143        midcom_show_style('midcom-admin-user-group-folders'); 
    164144         
    165145        midgard_admin_asgard_plugin::asgard_footer(); 
  • trunk/midcom/midcom.admin.user/locale/default.en.txt

    r12849 r12858  
    4848---STRINGEND 
    4949 
     50---STRING enable asgard 
     51Enable Asgard usage 
     52---STRINGEND 
     53 
    5054---STRING enable centralized toolbar 
    5155Enable centralized toolbar 
     
    5458---STRING firstname 
    5559Firstname 
     60---STRINGEND 
     61 
     62---STRING folders 
     63Folders 
    5664---STRINGEND 
    5765 
     
    124132---STRINGEND 
    125133 
    126 ---STRING enable asgard 
    127 Enable Asgard usage 
     134---STRING folders of %s 
     135Folders of %s 
    128136---STRINGEND 
    129137 
  • trunk/midcom/midcom.admin.user/locale/default.fi.txt

    r12849 r12858  
    4444---STRINGEND 
    4545 
     46---STRING enable asgard 
     47Salli Asgardin kÀyttö 
     48---STRINGEND 
     49 
    4650---STRING enable centralized toolbar 
    4751KÀytÀ keskitettyÀ työkalupalkkia 
     
    5054---STRING firstname 
    5155Etunimi 
     56---STRINGEND 
     57 
     58---STRING folders 
     59Kansiot 
    5260---STRINGEND 
    5361 
     
    120128---STRINGEND 
    121129 
    122 ---STRING enable asgard 
    123 Salli Asgardin kÀyttö 
     130---STRING folders of %s 
     131RyhmÀn %s kansiot 
    124132---STRINGEND 
    125133 
  • trunk/midcom/midgard.admin.asgard/locale/default.fi.txt

    r12754 r12858  
    5454---STRING group %s 
    5555RyhmÀ %s 
     56---STRINGEND 
     57 
     58---STRING guid 
     59GUID-tunniste 
    5660---STRINGEND 
    5761 
     
    144148---STRINGEND 
    145149 
    146 ---STRING guid 
    147 GUID-tunniste 
     150---STRING asgard plugins 
     151Asgardin lisÀtoiminnot 
    148152---STRINGEND 
    149153 
     154---STRING midgard objects 
     155Midgardin tietueet 
     156---STRINGEND 
     157 
     158---STRING parameter 
     159Parametri 
     160---STRINGEND 
     161