diff --git a/swad_action.c b/swad_action.c index 54a01d6c7..0a7e73c16 100644 --- a/swad_action.c +++ b/swad_action.c @@ -437,6 +437,7 @@ Assessment: 312. ActRcvRchTxtAss Receive and change the rich text of the assessment system 313. ActFrmNewAsg Form to create a new assignment 314. ActEdiOneAsg Edit one assignment + NEW. ActPrnOneAsg Print one assignment 315. ActNewAsg Create new assignment 316. ActChgAsg Modify data of an existing assignment 317. ActReqRemAsg Request the removal of an assignment @@ -1883,6 +1884,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = /* ActFrmNewAsg */{ 812,-1,TabUnk,ActSeeAsg ,0x110,0x100, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RequestCreatOrEditAsg ,NULL}, /* ActEdiOneAsg */{ 814,-1,TabUnk,ActSeeAsg ,0x110,0x100, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RequestCreatOrEditAsg ,NULL}, + /* ActPrnOneAsg */{1637,-1,TabUnk,ActSeeAsg ,0x1F8,0x100, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BLNK_WINDOW,NULL ,Asg_PrintOneAssignment ,NULL}, /* ActNewAsg */{ 803,-1,TabUnk,ActSeeAsg ,0x110,0x100, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RecFormAssignment ,NULL}, /* ActChgAsg */{ 815,-1,TabUnk,ActSeeAsg ,0x110,0x100, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RecFormAssignment ,NULL}, /* ActReqRemAsg */{ 813,-1,TabUnk,ActSeeAsg ,0x110,0x100, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_ReqRemAssignment ,NULL}, @@ -4621,6 +4623,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActSeeCalDeg, // #1634 ActPrnCalDeg, // #1635 ActChgCalDeg1stDay, // #1636 + ActPrnOneAsg, // #1637 }; /*****************************************************************************/ diff --git a/swad_action.h b/swad_action.h index fc6b8f79f..f98cc0a75 100644 --- a/swad_action.h +++ b/swad_action.h @@ -57,9 +57,9 @@ typedef enum typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action -#define Act_NUM_ACTIONS (1 + 9 + 43 + 17 + 47 + 32 + 24 + 115 + 71 + 416 + 159 + 172 + 42 + 14 + 96) +#define Act_NUM_ACTIONS (1 + 9 + 43 + 17 + 47 + 32 + 24 + 115 + 72 + 416 + 159 + 172 + 42 + 14 + 96) -#define Act_MAX_ACTION_COD 1636 +#define Act_MAX_ACTION_COD 1637 #define Act_MAX_OPTIONS_IN_MENU_PER_TAB 12 @@ -451,63 +451,64 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActFrmNewAsg (ActChgCalCrs1stDay + 17) #define ActEdiOneAsg (ActChgCalCrs1stDay + 18) -#define ActNewAsg (ActChgCalCrs1stDay + 19) -#define ActChgAsg (ActChgCalCrs1stDay + 20) -#define ActReqRemAsg (ActChgCalCrs1stDay + 21) -#define ActRemAsg (ActChgCalCrs1stDay + 22) -#define ActHidAsg (ActChgCalCrs1stDay + 23) -#define ActShoAsg (ActChgCalCrs1stDay + 24) +#define ActPrnOneAsg (ActChgCalCrs1stDay + 19) +#define ActNewAsg (ActChgCalCrs1stDay + 20) +#define ActChgAsg (ActChgCalCrs1stDay + 21) +#define ActReqRemAsg (ActChgCalCrs1stDay + 22) +#define ActRemAsg (ActChgCalCrs1stDay + 23) +#define ActHidAsg (ActChgCalCrs1stDay + 24) +#define ActShoAsg (ActChgCalCrs1stDay + 25) -#define ActSeeTst (ActChgCalCrs1stDay + 25) -#define ActAssTst (ActChgCalCrs1stDay + 26) -#define ActEdiTstQst (ActChgCalCrs1stDay + 27) -#define ActEdiOneTstQst (ActChgCalCrs1stDay + 28) -#define ActReqImpTstQst (ActChgCalCrs1stDay + 29) -#define ActImpTstQst (ActChgCalCrs1stDay + 30) -#define ActLstTstQst (ActChgCalCrs1stDay + 31) -#define ActRcvTstQst (ActChgCalCrs1stDay + 32) -#define ActReqRemTstQst (ActChgCalCrs1stDay + 33) -#define ActRemTstQst (ActChgCalCrs1stDay + 34) -#define ActShfTstQst (ActChgCalCrs1stDay + 35) -#define ActCfgTst (ActChgCalCrs1stDay + 36) -#define ActEnableTag (ActChgCalCrs1stDay + 37) -#define ActDisableTag (ActChgCalCrs1stDay + 38) -#define ActRenTag (ActChgCalCrs1stDay + 39) -#define ActRcvCfgTst (ActChgCalCrs1stDay + 40) +#define ActSeeTst (ActChgCalCrs1stDay + 26) +#define ActAssTst (ActChgCalCrs1stDay + 27) +#define ActEdiTstQst (ActChgCalCrs1stDay + 28) +#define ActEdiOneTstQst (ActChgCalCrs1stDay + 29) +#define ActReqImpTstQst (ActChgCalCrs1stDay + 30) +#define ActImpTstQst (ActChgCalCrs1stDay + 31) +#define ActLstTstQst (ActChgCalCrs1stDay + 32) +#define ActRcvTstQst (ActChgCalCrs1stDay + 33) +#define ActReqRemTstQst (ActChgCalCrs1stDay + 34) +#define ActRemTstQst (ActChgCalCrs1stDay + 35) +#define ActShfTstQst (ActChgCalCrs1stDay + 36) +#define ActCfgTst (ActChgCalCrs1stDay + 37) +#define ActEnableTag (ActChgCalCrs1stDay + 38) +#define ActDisableTag (ActChgCalCrs1stDay + 39) +#define ActRenTag (ActChgCalCrs1stDay + 40) +#define ActRcvCfgTst (ActChgCalCrs1stDay + 41) -#define ActReqSeeMyTstRes (ActChgCalCrs1stDay + 41) -#define ActSeeMyTstRes (ActChgCalCrs1stDay + 42) -#define ActSeeOneTstResMe (ActChgCalCrs1stDay + 43) -#define ActReqSeeUsrTstRes (ActChgCalCrs1stDay + 44) -#define ActSeeUsrTstRes (ActChgCalCrs1stDay + 45) -#define ActSeeOneTstResOth (ActChgCalCrs1stDay + 46) +#define ActReqSeeMyTstRes (ActChgCalCrs1stDay + 42) +#define ActSeeMyTstRes (ActChgCalCrs1stDay + 43) +#define ActSeeOneTstResMe (ActChgCalCrs1stDay + 44) +#define ActReqSeeUsrTstRes (ActChgCalCrs1stDay + 45) +#define ActSeeUsrTstRes (ActChgCalCrs1stDay + 46) +#define ActSeeOneTstResOth (ActChgCalCrs1stDay + 47) -#define ActSeeOneSvy (ActChgCalCrs1stDay + 47) -#define ActAnsSvy (ActChgCalCrs1stDay + 48) -#define ActFrmNewSvy (ActChgCalCrs1stDay + 49) -#define ActEdiOneSvy (ActChgCalCrs1stDay + 50) -#define ActNewSvy (ActChgCalCrs1stDay + 51) -#define ActChgSvy (ActChgCalCrs1stDay + 52) -#define ActReqRemSvy (ActChgCalCrs1stDay + 53) -#define ActRemSvy (ActChgCalCrs1stDay + 54) -#define ActReqRstSvy (ActChgCalCrs1stDay + 55) -#define ActRstSvy (ActChgCalCrs1stDay + 56) -#define ActHidSvy (ActChgCalCrs1stDay + 57) -#define ActShoSvy (ActChgCalCrs1stDay + 58) -#define ActEdiOneSvyQst (ActChgCalCrs1stDay + 59) -#define ActRcvSvyQst (ActChgCalCrs1stDay + 60) -#define ActReqRemSvyQst (ActChgCalCrs1stDay + 61) -#define ActRemSvyQst (ActChgCalCrs1stDay + 62) +#define ActSeeOneSvy (ActChgCalCrs1stDay + 48) +#define ActAnsSvy (ActChgCalCrs1stDay + 49) +#define ActFrmNewSvy (ActChgCalCrs1stDay + 50) +#define ActEdiOneSvy (ActChgCalCrs1stDay + 51) +#define ActNewSvy (ActChgCalCrs1stDay + 52) +#define ActChgSvy (ActChgCalCrs1stDay + 53) +#define ActReqRemSvy (ActChgCalCrs1stDay + 54) +#define ActRemSvy (ActChgCalCrs1stDay + 55) +#define ActReqRstSvy (ActChgCalCrs1stDay + 56) +#define ActRstSvy (ActChgCalCrs1stDay + 57) +#define ActHidSvy (ActChgCalCrs1stDay + 58) +#define ActShoSvy (ActChgCalCrs1stDay + 59) +#define ActEdiOneSvyQst (ActChgCalCrs1stDay + 60) +#define ActRcvSvyQst (ActChgCalCrs1stDay + 61) +#define ActReqRemSvyQst (ActChgCalCrs1stDay + 62) +#define ActRemSvyQst (ActChgCalCrs1stDay + 63) -#define ActSeeOneExaAnn (ActChgCalCrs1stDay + 63) -#define ActSeeDatExaAnn (ActChgCalCrs1stDay + 64) -#define ActEdiExaAnn (ActChgCalCrs1stDay + 65) -#define ActRcvExaAnn (ActChgCalCrs1stDay + 66) -#define ActPrnExaAnn (ActChgCalCrs1stDay + 67) -#define ActReqRemExaAnn (ActChgCalCrs1stDay + 68) -#define ActRemExaAnn (ActChgCalCrs1stDay + 69) -#define ActHidExaAnn (ActChgCalCrs1stDay + 70) -#define ActShoExaAnn (ActChgCalCrs1stDay + 71) +#define ActSeeOneExaAnn (ActChgCalCrs1stDay + 64) +#define ActSeeDatExaAnn (ActChgCalCrs1stDay + 65) +#define ActEdiExaAnn (ActChgCalCrs1stDay + 66) +#define ActRcvExaAnn (ActChgCalCrs1stDay + 67) +#define ActPrnExaAnn (ActChgCalCrs1stDay + 68) +#define ActReqRemExaAnn (ActChgCalCrs1stDay + 69) +#define ActRemExaAnn (ActChgCalCrs1stDay + 70) +#define ActHidExaAnn (ActChgCalCrs1stDay + 71) +#define ActShoExaAnn (ActChgCalCrs1stDay + 72) /*****************************************************************************/ /******************************** Files tab **********************************/ diff --git a/swad_assignment.c b/swad_assignment.c index a785c8948..9935d424c 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -63,15 +63,16 @@ extern struct Globals Gbl; /*****************************************************************************/ static void Asg_ShowAllAssignments (void); +static void Asg_PutHeadForSeeing (void); static bool Asg_CheckIfICanCreateAssignments (void); static void Asg_PutIconsListAssignments (void); static void Asg_PutIconToCreateNewAsg (void); static void Asg_PutButtonToCreateNewAsg (void); static void Asg_PutFormToSelectWhichGroupsToShow (void); static void Asg_ParamsWhichGroupsToShow (void); -static void Asg_ShowOneAssignment (long AsgCod); +static void Asg_ShowOneAssignment (long AsgCod,bool PrintView); static void Asg_WriteAsgAuthor (struct Assignment *Asg); -static void Asg_WriteAssignmentFolder (struct Assignment *Asg); +static void Asg_WriteAssignmentFolder (struct Assignment *Asg,bool PrintView); static void Asg_GetParamAsgOrder (void); static void Asg_PutFormsToRemEditOneAsg (long AsgCod,bool Hidden); @@ -114,13 +115,7 @@ static void Asg_ShowAllAssignments (void) { extern const char *Hlp_ASSESSMENT_Assignments; extern const char *Txt_Assignments; - extern const char *Txt_START_END_TIME_HELP[Dat_NUM_START_END_TIME]; - extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME]; - extern const char *Txt_Assignment; - extern const char *Txt_Upload_files_QUESTION; - extern const char *Txt_Folder; extern const char *Txt_No_assignments; - Dat_StartEndTime_t Order; struct Pagination Pagination; unsigned NumAsg; @@ -151,45 +146,14 @@ static void Asg_ShowAllAssignments (void) { /***** Table head *****/ Lay_StartTableWideMargin (2); - fprintf (Gbl.F.Out,"