Changeset 253


Ignore:
Timestamp:
10/30/09 12:27:05 (11 years ago)
Author:
sander
Message:

Add option to make all users part of a group by default

Location:
branches/gallery/server/www/app
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/gallery/server/www/app/config/sql/schema.php

    r252 r253  
    11<?php  
    22/* SVN FILE: $Id$ */ 
    3 /* App schema generated on: 2009-10-29 15:10:56 : 1256827436*/ 
     3/* App schema generated on: 2009-10-30 12:10:17 : 1256902037*/ 
    44class AppSchema extends CakeSchema { 
    55        var $name = 'App'; 
     
    5959                        'name' => array('type' => 'string', 'null' => false, 'default' => NULL, 'length' => 40), 
    6060                        'request_limit' => array('type' => 'integer', 'null' => false, 'default' => NULL, 'length' => 5), 
     61                        'default' => array('type' => 'boolean', 'null' => false, 'default' => NULL), 
    6162                        'default_memberlist' => array('type' => 'string', 'null' => false, 'default' => NULL), 
    6263                        'created' => array('type' => 'datetime', 'null' => true, 'default' => NULL), 
  • branches/gallery/server/www/app/models/group.php

    r223 r253  
    7272                } 
    7373 
    74                 return $this->save(array( 
    75                         'User' => array('id' => $user_id), 
    76                 )); 
     74                $relation = $this->GroupsUser->find('first', array('conditions' => array( 
     75                        'group_id' => $group_id, 
     76                        'user_id' => $user_id, 
     77                ))); 
     78 
     79                if (!empty($relation)) { 
     80                        return true; 
     81                } 
     82 
     83                $this->GroupsUser->create(); 
     84                return $this->GroupsUser->save(array('GroupsUser' => array( 
     85                        'group_id' => $group_id, 
     86                        'user_id' => $user_id, 
     87                ))); 
    7788        } 
    7889 
     
    108119                } 
    109120        } 
     121 
     122        /** 
     123         * After creating a new 'default' group, add all existing users to it. 
     124         * @param boolean $created Whether the saved user was newly created or not 
     125         */ 
     126        public function afterSave($created) 
     127        { 
     128                if (!$created || !$this->data['Group']['default']) { 
     129                        return; 
     130                } 
     131 
     132                $users = $this->User->find('all', array( 
     133                        'recursive' => -1, 
     134                )); 
     135 
     136                foreach ($users as $user) { 
     137                        $this->add_member($user['User']['id'], $this->id); 
     138                } 
     139        } 
    110140} 
    111141 
  • branches/gallery/server/www/app/views/groups/admin_edit.ctp

    r223 r253  
    1515                echo $form->input('request_limit'); 
    1616                echo $form->input('default_memberlist'); 
     17                echo $form->input('default', array('label' => __('Automatically add all registered users to this group', true))); 
    1718        ?> 
    1819        </fieldset> 
  • branches/gallery/server/www/app/views/groups/admin_index.ctp

    r222 r253  
    1010<tr> 
    1111        <th><?php echo $paginator->sort('name');?></th> 
     12        <th><?php __('Default'); ?></th> 
    1213        <th><?php echo $paginator->sort('request_limit');?></th> 
    1314        <th><?php __('Number of members'); ?></th> 
     
    2728                <td> 
    2829                        <?php echo $html->link($group['Group']['name'], array('action'=>'view', $group['Group']['id'])); ?> 
     30                </td> 
     31                <td> 
     32                        <?php $group['Group']['default'] ? __('Yes') : __('No'); ?> 
    2933                </td> 
    3034                <td> 
  • branches/gallery/server/www/app/views/groups/admin_view.ctp

    r223 r253  
    1010                <dd<?php if ($i++ % 2 == 0) echo $class;?>> 
    1111                        <?php echo $group['Group']['request_limit']; ?> 
     12                        &nbsp; 
     13                </dd> 
     14                <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Default'); ?></dt> 
     15                <dd<?php if ($i++ % 2 == 0) echo $class;?>> 
     16                        <?php $group['Group']['default'] ? __('Yes') : __('No'); ?> 
    1217                        &nbsp; 
    1318                </dd> 
Note: See TracChangeset for help on using the changeset viewer.