$joins .= XDB::format("LEFT JOIN group_members AS gpm ON (gpm.uid = a.uid AND gpm.asso_id = {?})\n", $globals->asso('id'));
$fields[] = 'gpm.perms AS group_perms';
$fields[] = 'gpm.comm AS group_comm';
+ $fields[] = 'gpm.position AS group_position';
}
if (count($fields) > 0) {
$fields = ', ' . implode(', ', $fields);
// Update group params for user
$perms = Post::v('group_perms');
$comm = Post::t('comm');
- if ($user->group_perms != $perms || $user->group_comm != $comm) {
+ $position = (Post::t('group_position') == '') ? null : Post::v('group_position');
+ if ($user->group_perms != $perms || $user->group_comm != $comm || $user->group_position != $position) {
XDB::query('UPDATE group_members
- SET perms = {?}, comm = {?}
+ SET perms = {?}, comm = {?}, position = {?}
WHERE uid = {?} AND asso_id = {?}',
- ($perms == 'admin') ? 'admin' : 'membre', $comm,
+ ($perms == 'admin') ? 'admin' : 'membre', $comm, $position,
$user->id(), $globals->asso('id'));
if (XDB::affectedRows()) {
if ($perms != $user->group_perms) {
}
}
+ $res = XDB::rawFetchAllAssoc('SHOW COLUMNS FROM group_members LIKE \'position\'');
+ $positions = str_replace(array('enum(', ')', '\''), '', $res[0]['Type']);
+
$page->assign('user', $user);
$page->assign('listes', $mmlist->get_lists($user->forlifeEmail()));
$page->assign('alias', $user->emailAliases($globals->asso('mail_domain'), 'user', true));
+ $page->assign('positions', explode(',', $positions));
}
function handler_rss(&$page, $user = null, $hash = null)
ALTER TABLE groups ADD COLUMN axDate DATE DEFAULT NULL;
+ALTER TABLE group_members ADD COLUMN position ENUM('Président', 'Vice-président', 'Trésorier', 'Vice-trésorier', 'Secrétaire', 'Directeur', 'Délégué général', 'Secrétaire général', 'Membre du bureau') DEFAULT NULL;
-- vim:set syntax=mysql: