mirror of https://github.com/acanas/swad-core.git
Version 15.161.1
This commit is contained in:
parent
c4b9526c72
commit
70c54684c6
|
@ -482,7 +482,7 @@ void Ann_ShowFormAnnouncement (void)
|
|||
1 << Rol__GUEST_ |
|
||||
1 << Rol_STUDENT |
|
||||
1 << Rol_TEACHER,
|
||||
false);
|
||||
false,false);
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>");
|
||||
|
||||
|
@ -513,7 +513,7 @@ void Ann_ReceiveAnnouncement (void)
|
|||
Str_TO_RIGOROUS_HTML,true);
|
||||
|
||||
/* Get users who can view this announcement */
|
||||
Rol_GetSelectedRoles (&Roles);
|
||||
Roles = Rol_GetSelectedRoles ();
|
||||
|
||||
/***** Create a new announcement in database *****/
|
||||
Ann_CreateAnnouncement (Roles,Subject,Content);
|
||||
|
|
|
@ -137,13 +137,15 @@
|
|||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 15.161 (2016-03-24)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 15.161.1 (2016-03-24)"
|
||||
#define CSS_FILE "swad15.160.2.css"
|
||||
#define JS_FILE "swad15.131.3.js"
|
||||
|
||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
||||
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
|
||||
/*
|
||||
Version 15.161.1: Mar 24, 2016 Code refactoring in forms to select roles.
|
||||
Put contextual icon "update" integrated in frame in "enrollment requests". (196598 lines)
|
||||
Version 15.161: Mar 24, 2016 Changes related to enrollments requests. (196581 lines)
|
||||
1 change necessary in database:
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1522','es','N','Actualizar inscripciones pendientes');
|
||||
|
|
|
@ -102,7 +102,8 @@ static void Enr_MarkOfficialStdsAsRemovable (long ImpGrpCod,bool RemoveSpecified
|
|||
|
||||
static void Enr_PutLinkToRemAllStdsThisCrs (void);
|
||||
|
||||
static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected);
|
||||
static void Enr_ShowEnrollmentRequestsGivenRoles (void);
|
||||
static void Enr_PutIconToUpdateEnrollmentRequests (void);
|
||||
|
||||
static void Enr_RemoveEnrollmentRequest (long CrsCod,long UsrCod);
|
||||
|
||||
|
@ -2159,14 +2160,16 @@ void Enr_ShowEnrollmentRequests (void)
|
|||
switch (Gbl.Usrs.Me.LoggedRole)
|
||||
{
|
||||
case Rol_TEACHER:
|
||||
Enr_ShowEnrollmentRequestsGivenRoles ((1 << Rol_STUDENT) |
|
||||
(1 << Rol_TEACHER));
|
||||
Gbl.EnrollmentRequests.RolesSelected = (1 << Rol_STUDENT) |
|
||||
(1 << Rol_TEACHER);
|
||||
Enr_ShowEnrollmentRequestsGivenRoles ();
|
||||
break;
|
||||
case Rol_DEG_ADM:
|
||||
case Rol_CTR_ADM:
|
||||
case Rol_INS_ADM:
|
||||
case Rol_SYS_ADM:
|
||||
Enr_ShowEnrollmentRequestsGivenRoles (1 << Rol_TEACHER);
|
||||
Gbl.EnrollmentRequests.RolesSelected = (1 << Rol_TEACHER);
|
||||
Enr_ShowEnrollmentRequestsGivenRoles ();
|
||||
break;
|
||||
default:
|
||||
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
||||
|
@ -2180,27 +2183,24 @@ void Enr_ShowEnrollmentRequests (void)
|
|||
|
||||
void Enr_UpdateEnrollmentRequests (void)
|
||||
{
|
||||
unsigned RolesSelected;
|
||||
|
||||
/***** Get selected roles *****/
|
||||
Rol_GetSelectedRoles (&RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected = Rol_GetSelectedRoles ();
|
||||
|
||||
/***** Update enrollment requests *****/
|
||||
Enr_ShowEnrollmentRequestsGivenRoles (RolesSelected);
|
||||
Enr_ShowEnrollmentRequestsGivenRoles ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************* Show pending requests for enrollment given roles **************/
|
||||
/*****************************************************************************/
|
||||
// Gbl.EnrollmentRequests.RolesSelected must be set
|
||||
|
||||
static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
||||
static void Enr_ShowEnrollmentRequestsGivenRoles (void)
|
||||
{
|
||||
extern const char *The_ClassForm[The_NUM_THEMES];
|
||||
extern const char *The_ClassFormBold[The_NUM_THEMES];
|
||||
extern const char *Txt_Enrollment_requests;
|
||||
extern const char *Txt_Scope;
|
||||
extern const char *Txt_Users;
|
||||
extern const char *Txt_Update;
|
||||
extern const char *Txt_Course;
|
||||
extern const char *Txt_Teachers_ABBREVIATION;
|
||||
extern const char *Txt_Requester;
|
||||
|
@ -2226,8 +2226,18 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
char PhotoURL[PATH_MAX+1];
|
||||
Rol_Role_t DesiredRole;
|
||||
|
||||
/***** Get scope *****/
|
||||
Gbl.Scope.Allowed = 1 << Sco_SCOPE_SYS |
|
||||
1 << Sco_SCOPE_CTY |
|
||||
1 << Sco_SCOPE_INS |
|
||||
1 << Sco_SCOPE_CTR |
|
||||
1 << Sco_SCOPE_DEG |
|
||||
1 << Sco_SCOPE_CRS;
|
||||
Gbl.Scope.Default = Sco_SCOPE_CRS;
|
||||
Sco_GetScope ();
|
||||
|
||||
/***** Start frame *****/
|
||||
Lay_StartRoundFrame (NULL,Txt_Enrollment_requests,NULL);
|
||||
Lay_StartRoundFrame ("100%",Txt_Enrollment_requests,Enr_PutIconToUpdateEnrollmentRequests);
|
||||
|
||||
/***** Selection of scope and roles *****/
|
||||
/* Start form */
|
||||
|
@ -2242,14 +2252,6 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
"<td class=\"LEFT_MIDDLE\">",
|
||||
The_ClassForm[Gbl.Prefs.Theme],
|
||||
Txt_Scope);
|
||||
Gbl.Scope.Allowed = 1 << Sco_SCOPE_SYS |
|
||||
1 << Sco_SCOPE_CTY |
|
||||
1 << Sco_SCOPE_INS |
|
||||
1 << Sco_SCOPE_CTR |
|
||||
1 << Sco_SCOPE_DEG |
|
||||
1 << Sco_SCOPE_CRS;
|
||||
Gbl.Scope.Default = Sco_SCOPE_CRS;
|
||||
Sco_GetScope ();
|
||||
Sco_PutSelectorScope (true);
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>");
|
||||
|
@ -2264,17 +2266,13 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
Txt_Users);
|
||||
Rol_WriteSelectorRoles (1 << Rol_STUDENT |
|
||||
1 << Rol_TEACHER,
|
||||
RolesSelected,
|
||||
true);
|
||||
Gbl.EnrollmentRequests.RolesSelected,
|
||||
false,true);
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>"
|
||||
"</table>");
|
||||
|
||||
/* Send button */
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
Act_LinkFormSubmitAnimated (Txt_Update,The_ClassFormBold[Gbl.Prefs.Theme]);
|
||||
Lay_PutCalculateIconWithText (Txt_Update,Txt_Update);
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
/* End form */
|
||||
Act_FormEnd ();
|
||||
|
||||
/***** Build query *****/
|
||||
|
@ -2298,7 +2296,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
(unsigned) Rol_TEACHER,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
case Rol_DEG_ADM:
|
||||
// Requests in all degrees administrated by me
|
||||
|
@ -2314,7 +2312,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
case Rol_CTR_ADM:
|
||||
// Requests in all centres administrated by me
|
||||
|
@ -2331,7 +2329,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
case Rol_INS_ADM:
|
||||
// Requests in all institutions administrated by me
|
||||
|
@ -2349,7 +2347,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
case Rol_SYS_ADM:
|
||||
// All requests
|
||||
|
@ -2361,7 +2359,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" FROM crs_usr_requests"
|
||||
" WHERE ((1<<Role)&%u)<>0"
|
||||
" ORDER BY RequestTime DESC",
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
default:
|
||||
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
||||
|
@ -2392,7 +2390,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
(unsigned) Rol_TEACHER,
|
||||
Gbl.CurrentCty.Cty.CtyCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
case Rol_DEG_ADM:
|
||||
// Requests in degrees of this country administrated by me
|
||||
|
@ -2413,7 +2411,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
Gbl.CurrentCty.Cty.CtyCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
case Rol_CTR_ADM:
|
||||
// Requests in centres of this country administrated by me
|
||||
|
@ -2434,7 +2432,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
Gbl.CurrentCty.Cty.CtyCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
case Rol_INS_ADM:
|
||||
// Requests in institutions of this country administrated by me
|
||||
|
@ -2455,7 +2453,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
Gbl.CurrentCty.Cty.CtyCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
case Rol_SYS_ADM:
|
||||
// Requests in any course of this country
|
||||
|
@ -2473,7 +2471,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||
Gbl.CurrentCty.Cty.CtyCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
default:
|
||||
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
||||
|
@ -2503,7 +2501,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
(unsigned) Rol_TEACHER,
|
||||
Gbl.CurrentIns.Ins.InsCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
case Rol_DEG_ADM:
|
||||
// Requests in degrees of this institution administrated by me
|
||||
|
@ -2523,7 +2521,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
Gbl.CurrentIns.Ins.InsCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
case Rol_CTR_ADM:
|
||||
// Requests in centres of this institution administrated by me
|
||||
|
@ -2543,7 +2541,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
Gbl.CurrentIns.Ins.InsCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this institution
|
||||
case Rol_SYS_ADM:
|
||||
|
@ -2561,7 +2559,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||
Gbl.CurrentIns.Ins.InsCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
default:
|
||||
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
||||
|
@ -2590,7 +2588,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
(unsigned) Rol_TEACHER,
|
||||
Gbl.CurrentCtr.Ctr.CtrCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
case Rol_DEG_ADM:
|
||||
// Requests in degrees of this centre administrated by me
|
||||
|
@ -2609,7 +2607,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
Gbl.CurrentCtr.Ctr.CtrCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
case Rol_CTR_ADM: // If I am logged as admin of this centre , I can view all the requesters from this centre
|
||||
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this centre
|
||||
|
@ -2627,7 +2625,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||
Gbl.CurrentCtr.Ctr.CtrCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
default:
|
||||
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
||||
|
@ -2655,7 +2653,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
(unsigned) Rol_TEACHER,
|
||||
Gbl.CurrentDeg.Deg.DegCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
case Rol_DEG_ADM: // If I am logged as admin of this degree , I can view all the requesters from this degree
|
||||
case Rol_CTR_ADM: // If I am logged as admin of this centre , I can view all the requesters from this degree
|
||||
|
@ -2673,7 +2671,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" AND ((1<<crs_usr_requests.Role)&%u)<>0"
|
||||
" ORDER BY crs_usr_requests.RequestTime DESC",
|
||||
Gbl.CurrentDeg.Deg.DegCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
default:
|
||||
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
||||
|
@ -2696,7 +2694,7 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
" AND ((1<<Role)&%u)<>0"
|
||||
" ORDER BY RequestTime DESC",
|
||||
Gbl.CurrentCrs.Crs.CrsCod,
|
||||
RolesSelected);
|
||||
Gbl.EnrollmentRequests.RolesSelected);
|
||||
break;
|
||||
default:
|
||||
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
|
||||
|
@ -2868,6 +2866,24 @@ static void Enr_ShowEnrollmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
Lay_EndRoundFrame ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/***************** Put icon to update enrollment requests ********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Enr_PutIconToUpdateEnrollmentRequests (void)
|
||||
{
|
||||
extern const char *The_ClassFormBold[The_NUM_THEMES];
|
||||
extern const char *Txt_Update;
|
||||
|
||||
Act_FormStart (ActUpdSignUpReq);
|
||||
Sco_PutParamScope (Gbl.Scope.Current);
|
||||
Rol_PutHiddenParamRoles (Gbl.EnrollmentRequests.RolesSelected);
|
||||
Par_PutHiddenParamUnsigned ("Roles",Gbl.EnrollmentRequests.RolesSelected);
|
||||
Act_LinkFormSubmitAnimated (Txt_Update,The_ClassFormBold[Gbl.Prefs.Theme]);
|
||||
Lay_PutCalculateIcon (Txt_Update);
|
||||
Act_FormEnd ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************** Remove a request for inscription ***********************/
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -395,6 +395,10 @@ struct Globals
|
|||
Sco_Scope_t Default;
|
||||
unsigned Allowed;
|
||||
} Scope;
|
||||
struct
|
||||
{
|
||||
unsigned RolesSelected;
|
||||
} EnrollmentRequests;
|
||||
struct
|
||||
{
|
||||
struct Country Cty;
|
||||
|
|
30
swad_role.c
30
swad_role.c
|
@ -343,7 +343,7 @@ void Rol_ChangeMyRole (void)
|
|||
/*****************************************************************************/
|
||||
|
||||
void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected,
|
||||
bool SendOnChange)
|
||||
bool Disabled,bool SendOnChange)
|
||||
{
|
||||
extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||
Rol_Role_t Role;
|
||||
|
@ -353,12 +353,15 @@ void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected,
|
|||
Role++)
|
||||
if ((RolesAllowed & (1 << Role)))
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<input type=\"checkbox\" name=\"Roles\" value=\"%u\"",
|
||||
fprintf (Gbl.F.Out,"<input type=\"checkbox\" name=\"Role\" value=\"%u\"",
|
||||
(unsigned) Role);
|
||||
|
||||
if ((RolesSelected & (1 << Role)))
|
||||
fprintf (Gbl.F.Out," checked=\"checked\"");
|
||||
|
||||
if (Disabled)
|
||||
fprintf (Gbl.F.Out," disabled=\"disabled\"");
|
||||
|
||||
if (SendOnChange)
|
||||
fprintf (Gbl.F.Out," onchange=\"document.getElementById('%s').submit();\"",
|
||||
Gbl.Form.Id);
|
||||
|
@ -372,33 +375,44 @@ void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected,
|
|||
/******************** Put hidden param with users' roles *********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Rol_PutHiddenParamRoles (unsigned Role)
|
||||
void Rol_PutHiddenParamRoles (unsigned Roles)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<input type=\"hidden\" name=\"Roles\" value=\"%u\" />",
|
||||
Role);
|
||||
Roles);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************* Get selected users' roles *************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Rol_GetSelectedRoles (unsigned *Roles)
|
||||
unsigned Rol_GetSelectedRoles (void)
|
||||
{
|
||||
char StrRoles[(10+1)*2];
|
||||
const char *Ptr;
|
||||
char UnsignedStr[10+1];
|
||||
unsigned UnsignedNum;
|
||||
Rol_Role_t Role;
|
||||
unsigned Roles;
|
||||
|
||||
Par_GetParMultiToText ("Roles",StrRoles,(10+1)*2);
|
||||
*Roles = 0;
|
||||
/***** Try to get param "Roles" with multiple roles *****/
|
||||
Par_GetParToText ("Roles",UnsignedStr,10);
|
||||
if (sscanf (UnsignedStr,"%u",&UnsignedNum) == 1)
|
||||
Roles = UnsignedNum;
|
||||
else
|
||||
Roles = 0;
|
||||
|
||||
/***** Try to get multiple param "Role" *****/
|
||||
Par_GetParMultiToText ("Role",StrRoles,(10+1)*2);
|
||||
for (Ptr = StrRoles;
|
||||
*Ptr;)
|
||||
{
|
||||
Par_GetNextStrUntilSeparParamMult (&Ptr,UnsignedStr,10);
|
||||
if (sscanf (UnsignedStr,"%u",&Role) != 1)
|
||||
Lay_ShowErrorAndExit ("can not get user's role");
|
||||
*Roles |= (1 << Role);
|
||||
Roles |= (1 << Role);
|
||||
}
|
||||
|
||||
return Roles;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -79,9 +79,9 @@ void Rol_PutFormToChangeMyRole (bool FormInHead);
|
|||
void Rol_ChangeMyRole (void);
|
||||
|
||||
void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected,
|
||||
bool SendOnChange);
|
||||
bool Disabled,bool SendOnChange);
|
||||
void Rol_PutHiddenParamRoles (unsigned Role);
|
||||
void Rol_GetSelectedRoles (unsigned *Roles);
|
||||
unsigned Rol_GetSelectedRoles (void);
|
||||
|
||||
Rol_Role_t Rol_GetRequestedRole (long UsrCod);
|
||||
|
||||
|
|
|
@ -378,13 +378,10 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,bool Sh
|
|||
extern const char *Txt_Degree;
|
||||
extern const char *Txt_Course;
|
||||
extern const char *Txt_Users;
|
||||
extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||
extern const char *Txt_Answer_survey;
|
||||
extern const char *Txt_View_survey_results;
|
||||
static unsigned UniqueId = 0;
|
||||
struct Survey Svy;
|
||||
Rol_Role_t Role;
|
||||
bool RolesSelected;
|
||||
char Txt[Cns_MAX_BYTES_TEXT+1];
|
||||
|
||||
/***** Start frame *****/
|
||||
|
@ -503,24 +500,14 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,bool Sh
|
|||
fprintf (Gbl.F.Out,"</div>");
|
||||
|
||||
/* Users' roles who can answer the survey */
|
||||
fprintf (Gbl.F.Out,"<div class=\"%s\">%s:",
|
||||
fprintf (Gbl.F.Out,"<div class=\"%s\">%s:<br />",
|
||||
Svy.Status.Visible ? "ASG_GRP" :
|
||||
"ASG_GRP_LIGHT",
|
||||
Txt_Users);
|
||||
for (Role = Rol_STUDENT, RolesSelected = false;
|
||||
Role <= Rol_TEACHER;
|
||||
Role++)
|
||||
{
|
||||
if (RolesSelected)
|
||||
fprintf (Gbl.F.Out,",");
|
||||
else
|
||||
RolesSelected = true;
|
||||
fprintf (Gbl.F.Out,"<input type=\"checkbox\" name=\"Roles\" value=\"%u\" disabled=\"disabled\"",
|
||||
(unsigned) Role);
|
||||
if (Svy.Roles & (1 << Role))
|
||||
fprintf (Gbl.F.Out," checked=\"checked\"");
|
||||
fprintf (Gbl.F.Out," />%s",Txt_ROLES_PLURAL_abc[Role][Usr_SEX_UNKNOWN]);
|
||||
}
|
||||
Rol_WriteSelectorRoles (1 << Rol_STUDENT |
|
||||
1 << Rol_TEACHER,
|
||||
Svy.Roles,
|
||||
true,false);
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
|
||||
/* Groups whose users can answer this survey */
|
||||
|
@ -1605,7 +1592,7 @@ void Svy_RequestCreatOrEditSvy (void)
|
|||
Rol_WriteSelectorRoles (1 << Rol_STUDENT |
|
||||
1 << Rol_TEACHER,
|
||||
Svy.Roles,
|
||||
false);
|
||||
false,false);
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>");
|
||||
|
||||
|
@ -1805,7 +1792,7 @@ void Svy_RecFormSurvey (void)
|
|||
NewSvy.TimeUTC[Svy_END_TIME] = NewSvy.TimeUTC[Svy_START_TIME] + 24*60*60; // +24 hours
|
||||
|
||||
/***** Get users who can answer this survey *****/
|
||||
Rol_GetSelectedRoles (&(NewSvy.Roles));
|
||||
NewSvy.Roles = Rol_GetSelectedRoles ();
|
||||
|
||||
/***** Check if title is correct *****/
|
||||
if (NewSvy.Title[0]) // If there's a survey title
|
||||
|
|
Loading…
Reference in New Issue