Add a new user group "Trusted User & Developer"

This group has full permissions on everything.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
This commit is contained in:
Lukas Fleischer 2014-07-15 22:49:18 +02:00
parent 1b901616dc
commit 3610f3c6a4
7 changed files with 26 additions and 5 deletions

View file

@ -15,6 +15,7 @@ CREATE TABLE AccountTypes (
INSERT INTO AccountTypes (ID, AccountType) VALUES (1, 'User');
INSERT INTO AccountTypes (ID, AccountType) VALUES (2, 'Trusted User');
INSERT INTO AccountTypes (ID, AccountType) VALUES (3, 'Developer');
INSERT INTO AccountTypes (ID, AccountType) VALUES (4, 'Trusted User & Developer');
-- User information for each user regardless of type.

5
upgrading/3.4.0.txt Normal file
View file

@ -0,0 +1,5 @@
1. Add the "Trusted User & Developer" user group:
----
INSERT INTO AccountTypes (ID, AccountType) VALUES (4, 'Trusted User & Developer');
----

View file

@ -338,6 +338,9 @@ function search_results_page($O=0,$SB="",$U="",$T="",
} elseif ($T == "d") {
$q.= "AND AccountTypes.ID = 3 ";
$search_vars[] = "T";
} elseif ($T == "td") {
$q.= "AND AccountTypes.ID = 4 ";
$search_vars[] = "T";
}
if ($S) {
$q.= "AND Users.Suspended = 1 ";
@ -1080,7 +1083,8 @@ function cast_proposal_vote($voteid, $uid, $vote, $newtotal) {
* @return bool True if permission to edit the account, otherwise false
*/
function can_edit_account($acctinfo) {
if ($acctinfo['AccountType'] == 'Developer') {
if ($acctinfo['AccountType'] == 'Developer' ||
$acctinfo['AccountType'] == 'Trusted User & Developer') {
return has_credential(CRED_ACCOUNT_EDIT_DEV);
}

View file

@ -48,7 +48,8 @@ function has_credential($credential, $approved_users=array()) {
case CRED_PKGBASE_NOTIFY:
case CRED_PKGBASE_VOTE:
return ($atype == 'User' || $atype == 'Trusted User' ||
$atype == 'Developer');
$atype == 'Developer' ||
$atype == 'Trusted User & Developer');
case CRED_ACCOUNT_CHANGE_TYPE:
case CRED_ACCOUNT_EDIT:
case CRED_ACCOUNT_LAST_LOGIN:
@ -63,13 +64,16 @@ function has_credential($credential, $approved_users=array()) {
case CRED_PKGBASE_UNFLAG:
case CRED_PKGREQ_CLOSE:
case CRED_PKGREQ_LIST:
return ($atype == 'Trusted User' || $atype == 'Developer');
return ($atype == 'Trusted User' || $atype == 'Developer' ||
$atype == 'Trusted User & Developer');
case CRED_TU_ADD_VOTE:
case CRED_TU_LIST_VOTES:
case CRED_TU_VOTE:
return ($atype == 'Trusted User');
return ($atype == 'Trusted User' ||
$atype == 'Trusted User & Developer');
case CRED_ACCOUNT_EDIT_DEV:
return ($atype == 'Developer');
return ($atype == 'Developer' ||
$atype == 'Trusted User & Developer');
}
return false;

View file

@ -17,6 +17,8 @@
print __("Trusted User");
} elseif ($row["AccountType"] == "Developer") {
print __("Developer");
} elseif ($row["AccountType"] == "Trusted User & Developer") {
print __("Trusted User & Developer");
}
?>
</td>

View file

@ -37,6 +37,10 @@
<?php $T == 3 ? print " selected=\"selected\">" : print ">";
print __("Developer")."\n"; ?>
</option>
<option value="4"
<?php $T == 4 ? print " selected=\"selected\">" : print ">";
print __("Trusted User & Developer")."\n"; ?>
</option>
<?php endif; ?>
</select>

View file

@ -15,6 +15,7 @@
<option value="u"><?= __("Normal user"); ?></option>
<option value="t"><?= __("Trusted user"); ?></option>
<option value="d"><?= __("Developer"); ?></option>
<option value="td"><?= __("Trusted User & Developer"); ?></option>
</select>
</p>
<p>