@@ -149,8 +149,9 @@
@ <li value="16"><b>Password</b>: Change your own password</li>
@ <li value="17"><b>Query</b>: Create new queries against tickets</li>
@ <li value="18"><b>Read-Tkt</b>: View tickets</li>
@ <li value="19"><b>Setup:</b> Setup and configure this website</li>
+ @ <li value="20"><b>Tkt-Report:</b> Create new bug summary reports</li>
@ <li value="23"><b>Write-Tkt</b>: Edit tickets</li>
@ </ol>
@ </p></li>
@
@@ -172,8 +173,9 @@
void user_edit(void){
const char *zId, *zLogin, *zInfo, *zCap;
char *oaa, *oas, *oar, *oaw, *oan, *oai, *oaj, *oao, *oap;
char *oak, *oad, *oaq, *oac, *oaf, *oam, *oah, *oag, *oae;
+ char *oat;
int doWrite;
int uid;
int higherUser = 0; /* True if user being edited is SETUP and the */
/* user doing the editing is ADMIN. Disallow editing */
@@ -206,9 +208,9 @@
doWrite = cgi_all("login","info","pw") && !higherUser;
if( doWrite ){
const char *zPw;
const char *zLogin;
- char zCap[30];
+ char zCap[50];
int i = 0;
int aa = P("aa")!=0;
int ad = P("ad")!=0;
int ae = P("ae")!=0;
@@ -226,8 +228,9 @@
int af = P("af")!=0;
int am = P("am")!=0;
int ah = P("ah")!=0;
int ag = P("ag")!=0;
+ int at = P("at")!=0;
if( aa ){ zCap[i++] = 'a'; }
if( ac ){ zCap[i++] = 'c'; }
if( ad ){ zCap[i++] = 'd'; }
if( ae ){ zCap[i++] = 'e'; }
@@ -243,8 +246,9 @@
if( ap ){ zCap[i++] = 'p'; }
if( aq ){ zCap[i++] = 'q'; }
if( ar ){ zCap[i++] = 'r'; }
if( as ){ zCap[i++] = 's'; }
+ if( at ){ zCap[i++] = 't'; }
if( aw ){ zCap[i++] = 'w'; }
zCap[i] = 0;
zPw = P("pw");
@@ -277,9 +281,9 @@
zLogin = "";
zInfo = "";
zCap = "";
oaa = oac = oad = oae = oaf = oag = oah = oai = oaj = oak = oam =
- oan = oao = oap = oaq = oar = oas = oaw = "";
+ oan = oao = oap = oaq = oar = oas = oat = oaw = "";
if( uid ){
zLogin = db_text("", "SELECT login FROM user WHERE uid=%d", uid);
zInfo = db_text("", "SELECT info FROM user WHERE uid=%d", uid);
zCap = db_text("", "SELECT cap FROM user WHERE uid=%d", uid);
@@ -299,8 +303,9 @@
if( strchr(zCap, 'p') ) oap = " checked";
if( strchr(zCap, 'q') ) oaq = " checked";
if( strchr(zCap, 'r') ) oar = " checked";
if( strchr(zCap, 's') ) oas = " checked";
+ if( strchr(zCap, 't') ) oat = " checked";
if( strchr(zCap, 'w') ) oaw = " checked";
}
/* Begin generating the page
@@ -351,9 +356,10 @@
@ <input type="checkbox" name="ak"%s(oak)>Write Wiki</input><br>
@ <input type="checkbox" name="ar"%s(oar)>Read Tkt</input><br>
@ <input type="checkbox" name="an"%s(oan)>New Tkt</input><br>
@ <input type="checkbox" name="ac"%s(oac)>Append Tkt</input><br>
- @ <input type="checkbox" name="aw"%s(oaw)>Write Tkt</input>
+ @ <input type="checkbox" name="aw"%s(oaw)>Write Tkt</input><br>
+ @ <input type="checkbox" name="at"%s(oat)>Tkt Report</input>
@ </td>
@ </tr>
@ <tr>
@ <td align="right">Password:</td>