diff --git a/css/swad15.152.css b/css/swad15.152.css
index e0becf05..4a98c288 100644
--- a/css/swad15.152.css
+++ b/css/swad15.152.css
@@ -1298,7 +1298,7 @@ a:hover /* Default ==> underlined */
display:inline-block;
box-sizing:border-box;
margin:5px 0;
- padding:8px 12px 12px 12px;
+ padding:8px 12px 20px 12px;
background-color:white;
border-radius:4px;
box-shadow:1px 1px 2px #CCC;
@@ -1336,7 +1336,7 @@ a:hover /* Default ==> underlined */
box-sizing:border-box;
width:100%;
margin:0 auto;
- padding:0 12px 20px 12px;
+ padding:0 12px 12px 12px;
color:#808080;
font-size:20pt;
font-weight:bold;
diff --git a/swad_assignment.c b/swad_assignment.c
index 3b6ffc56..db83260a 100644
--- a/swad_assignment.c
+++ b/swad_assignment.c
@@ -63,15 +63,15 @@ extern struct Globals Gbl;
/*****************************************************************************/
static void Asg_ShowAllAssignments (void);
+static void Asg_PutIconToCreateNewAsg (void);
+static void Asg_PutButtonToCreateNewAsg (void);
+static void Asg_PutParamsToCreateNewAsg (void);
static void Asg_PutFormToSelectWhichGroupsToShow (void);
static void Asg_ShowOneAssignment (long AsgCod);
static void Asg_WriteAsgAuthor (struct Assignment *Asg);
static void Asg_WriteAssignmentFolder (struct Assignment *Asg);
static void Asg_GetParamAsgOrderType (void);
-static void Asg_PutFormToCreateNewAsg (void);
-static void Asg_PutFormToCreateNewAsgParams (void);
-
static void Asg_PutFormsToRemEditOneAsg (long AsgCod,bool Hidden);
static void Asg_PutParams (void);
static void Asg_GetDataOfAssignment (struct Assignment *Asg,const char *Query);
@@ -99,16 +99,8 @@ void Asg_SeeAssignments (void)
Grp_GetParamWhichGrps ();
Pag_GetParamPagNum (Pag_ASSIGNMENTS);
- /***** Put link (form) to create a bew assignment *****/
- switch (Gbl.Usrs.Me.LoggedRole)
- {
- case Rol_TEACHER:
- case Rol_SYS_ADM:
- Asg_PutFormToCreateNewAsg ();
- break;
- default:
- break;
- }
+ /***** Get list of assignments *****/
+ Asg_GetListAssignments ();
/***** Show all the assignments *****/
Asg_ShowAllAssignments ();
@@ -126,13 +118,11 @@ static void Asg_ShowAllAssignments (void)
extern const char *Txt_Assignment;
extern const char *Txt_Upload_files_QUESTION;
extern const char *Txt_Folder;
+ extern const char *Txt_No_assignments;
tAsgsOrderType Order;
struct Pagination Pagination;
unsigned NumAsg;
- /***** Get list of assignments *****/
- Asg_GetListAssignments ();
-
/***** Compute variables related to pagination *****/
Pagination.NumItems = Gbl.Asgs.Num;
Pagination.CurrentPage = (int) Gbl.Pag.CurrentPage;
@@ -143,62 +133,71 @@ static void Asg_ShowAllAssignments (void)
if (Pagination.MoreThanOnePage)
Pag_WriteLinksToPagesCentered (Pag_ASSIGNMENTS,0,&Pagination);
- /***** Start table *****/
- Lay_StartRoundFrameTable (NULL,2,Txt_Assignments);
+ /***** Start frame *****/
+ Lay_StartRoundFrame ("100%",Txt_Assignments,
+ (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER ||
+ Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) ? Asg_PutIconToCreateNewAsg :
+ NULL);
/***** Select whether show only my groups or all groups *****/
if (Gbl.CurrentCrs.Grps.NumGrps)
- {
- fprintf (Gbl.F.Out,"
"
- "");
Asg_PutFormToSelectWhichGroupsToShow ();
- fprintf (Gbl.F.Out," | "
- "
");
- }
- /***** Table head *****/
- fprintf (Gbl.F.Out,"");
- for (Order = Asg_ORDER_BY_START_DATE;
- Order <= Asg_ORDER_BY_END_DATE;
- Order++)
+ if (Gbl.Asgs.Num)
{
- fprintf (Gbl.F.Out,"");
- Act_FormStart (ActSeeAsg);
- Grp_PutParamWhichGrps ();
- Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
- Par_PutHiddenParamUnsigned ("Order",(unsigned) Order);
- Act_LinkFormSubmit (Txt_ASG_ATT_OR_SVY_HELP_ORDER[Order],"TIT_TBL");
- if (Order == Gbl.Asgs.SelectedOrderType)
- fprintf (Gbl.F.Out,"");
- fprintf (Gbl.F.Out,"%s",Txt_ASG_ATT_OR_SVY_ORDER[Order]);
- if (Order == Gbl.Asgs.SelectedOrderType)
- fprintf (Gbl.F.Out,"");
- fprintf (Gbl.F.Out,"");
- Act_FormEnd ();
- fprintf (Gbl.F.Out," | ");
+ /***** Table head *****/
+ fprintf (Gbl.F.Out,""
+ "");
+ for (Order = Asg_ORDER_BY_START_DATE;
+ Order <= Asg_ORDER_BY_END_DATE;
+ Order++)
+ {
+ fprintf (Gbl.F.Out,"");
+ Act_FormStart (ActSeeAsg);
+ Grp_PutParamWhichGrps ();
+ Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
+ Par_PutHiddenParamUnsigned ("Order",(unsigned) Order);
+ Act_LinkFormSubmit (Txt_ASG_ATT_OR_SVY_HELP_ORDER[Order],"TIT_TBL");
+ if (Order == Gbl.Asgs.SelectedOrderType)
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,"%s",Txt_ASG_ATT_OR_SVY_ORDER[Order]);
+ if (Order == Gbl.Asgs.SelectedOrderType)
+ fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out,"");
+ Act_FormEnd ();
+ fprintf (Gbl.F.Out," | ");
+ }
+ fprintf (Gbl.F.Out,""
+ "%s"
+ " | "
+ ""
+ "%s"
+ " | "
+ ""
+ "%s"
+ " | "
+ "
",
+ Txt_Assignment,
+ Txt_Upload_files_QUESTION,
+ Txt_Folder);
+
+ /***** Write all the assignments *****/
+ for (NumAsg = Pagination.FirstItemVisible;
+ NumAsg <= Pagination.LastItemVisible;
+ NumAsg++)
+ Asg_ShowOneAssignment (Gbl.Asgs.LstAsgCods[NumAsg - 1]);
+
+ /***** Table end *****/
+ fprintf (Gbl.F.Out,"
");
}
- fprintf (Gbl.F.Out,""
- "%s"
- " | "
- ""
- "%s"
- " | "
- ""
- "%s"
- " | "
- "
",
- Txt_Assignment,
- Txt_Upload_files_QUESTION,
- Txt_Folder);
+ else // No assignments created
+ Lay_ShowAlert (Lay_INFO,Txt_No_assignments);
- /***** Write all the assignments *****/
- for (NumAsg = Pagination.FirstItemVisible;
- NumAsg <= Pagination.LastItemVisible;
- NumAsg++)
- Asg_ShowOneAssignment (Gbl.Asgs.LstAsgCods[NumAsg-1]);
+ /***** Button to create a new assignment *****/
+ Asg_PutButtonToCreateNewAsg ();
- /***** Table end *****/
- Lay_EndRoundFrameTable ();
+ /***** End frame *****/
+ Lay_EndRoundFrame ();
/***** Write again links to pages *****/
if (Pagination.MoreThanOnePage)
@@ -208,6 +207,46 @@ static void Asg_ShowAllAssignments (void)
Asg_FreeListAssignments ();
}
+/*****************************************************************************/
+/******************* Put icon to create a new assignment *********************/
+/*****************************************************************************/
+
+static void Asg_PutIconToCreateNewAsg (void)
+ {
+ extern const char *Txt_New_assignment;
+
+ /***** Put form to create a new assignment *****/
+ Lay_PutContextualLink (ActFrmNewAsg,Asg_PutParamsToCreateNewAsg,
+ "plus64x64.png",Txt_New_assignment,NULL);
+ }
+
+/*****************************************************************************/
+/******************* Put button to create a new assignment *******************/
+/*****************************************************************************/
+
+static void Asg_PutButtonToCreateNewAsg (void)
+ {
+ extern const char *Txt_New_assignment;
+ extern const char *Txt_Create_assignment;
+
+ Act_FormStart (ActFrmNewAsg);
+ Asg_PutParamsToCreateNewAsg ();
+ Lay_PutConfirmButton (Gbl.Asgs.Num ? Txt_New_assignment :
+ Txt_Create_assignment);
+ Act_FormEnd ();
+ }
+
+/*****************************************************************************/
+/***************** Put parameters to create a new assignment *****************/
+/*****************************************************************************/
+
+static void Asg_PutParamsToCreateNewAsg (void)
+ {
+ Asg_PutHiddenParamAsgOrderType ();
+ Grp_PutParamWhichGrps ();
+ Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
+ }
+
/*****************************************************************************/
/***************** Put form to select which groups to show *******************/
/*****************************************************************************/
@@ -461,29 +500,6 @@ void Asg_PutHiddenParamAsgOrderType (void)
Par_PutHiddenParamUnsigned ("Order",(unsigned) Gbl.Asgs.SelectedOrderType);
}
-/*****************************************************************************/
-/************** Put a link (form) to create a new assignment *****************/
-/*****************************************************************************/
-
-static void Asg_PutFormToCreateNewAsg (void)
- {
- extern const char *Txt_New_assignment;
-
- /***** Put form to create a new assignment *****/
- fprintf (Gbl.F.Out,"");
- }
-
-static void Asg_PutFormToCreateNewAsgParams (void)
- {
- Asg_PutHiddenParamAsgOrderType ();
- Grp_PutParamWhichGrps ();
- Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
- }
-
/*****************************************************************************/
/***************** Put a link (form) to edit one assignment ******************/
/*****************************************************************************/
@@ -1125,8 +1141,12 @@ void Asg_RequestCreatOrEditAsg (void)
Lay_EndRoundFrameTableWithButton (Lay_CONFIRM_BUTTON,Txt_Save);
Act_FormEnd ();
- /***** Show current assignments *****/
- Asg_ShowAllAssignments ();
+ /***** Get list of assignments *****/
+ Asg_GetListAssignments ();
+
+ /***** Show current assignments, if any *****/
+ if (Gbl.Asgs.Num)
+ Asg_ShowAllAssignments ();
}
/*****************************************************************************/
diff --git a/swad_changelog.h b/swad_changelog.h
index 76fb88fc..ecd7314d 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -127,21 +127,21 @@
// TODO: Icon to the left in list of forums is not correct when scope is system
// TODO: Move info about number of files to bottom of file browsers
-// TODO: Show tagline at top, near logo
-// TODO: Show big header h1 when no country specified
/*****************************************************************************/
/****************************** Public constants *****************************/
/*****************************************************************************/
-#define Log_PLATFORM_VERSION "SWAD 15.152 (2016-03-19)"
+#define Log_PLATFORM_VERSION "SWAD 15.153 (2016-03-19)"
#define CSS_FILE "swad15.152.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.152: Mar 19, 2016 Changes in layout of head. Not finished. (? lines)
+ Version 15.153: Mar 19, 2016 Icon to add new assignment integrated in frame.
+ Changes in layout of assignments. (195984 lines)
+ Version 15.152: Mar 19, 2016 Changes in layout of head. Not finished. (195949 lines)
Version 15.151.5: Mar 19, 2016 Icon to edit holidays integrated in frame. (195931 lines)
Version 15.151.4: Mar 19, 2016 Icon to edit plugins integrated in frame. (195933 lines)
Version 15.151.3: Mar 19, 2016 Icon to edit mail domains integrated in frame. (195934 lines)
diff --git a/swad_search.c b/swad_search.c
index eaff216d..1e198a25 100644
--- a/swad_search.c
+++ b/swad_search.c
@@ -313,7 +313,7 @@ void Sch_PutFormToSearch (const char *Icon,const char *IdInputText)
if (IdInputText)
fprintf (Gbl.F.Out," id=\"%s\"",IdInputText);
fprintf (Gbl.F.Out," type=\"text\" name=\"Search\""
- " size=\"30\" maxlength=\"%u\" value=\"%s\"",
+ " size=\"20\" maxlength=\"%u\" value=\"%s\"",
Sch_MAX_LENGTH_STRING_TO_FIND,
Gbl.Search.Str);
if (!Gbl.Search.Str[0])
diff --git a/swad_text.c b/swad_text.c
index ceaa1009..9713149d 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -23366,7 +23366,7 @@ const char *Txt_No =
const char *Txt_No_announcements =
#if L==1
- "No hay anuncis";
+ "No hi ha anuncis";
#elif L==2
"Keine Bekanntmachungen";
#elif L==3
@@ -23406,6 +23406,27 @@ const char *Txt_No_announcements_of_exams_of_X = // Warning: it is very importan
"Não chamadas para exame de %s.";
#endif
+const char *Txt_No_assignments =
+#if L==1
+ "No hi ha activitats";
+#elif L==2
+ "Keine Aufgaben";
+#elif L==3
+ "No assignments";
+#elif L==4
+ "No hay actividades";
+#elif L==5
+ "Il n'y a pas d'activités";
+#elif L==6
+ "No hay actividades"; // Okoteve traducción
+#elif L==7
+ "Non ci sono attività";
+#elif L==8
+ "Brak zadania";
+#elif L==9
+ "Não há atividades";
+#endif
+
const char *Txt_no_course_of_origin = // Means: "message sent from any course"
#if L==1
"sin asignatura de origen"; // Necessita traduccio
@@ -23534,7 +23555,7 @@ const char *Txt_No_enrollment_requests =
const char *Txt_No_events =
#if L==1
- "No hay esdeveniments.";
+ "No hi ha esdeveniments.";
#elif L==2
"Keine Ereignisse.";
#elif L==3