diff --git a/js/swad16.140.js b/js/swad16.141.js similarity index 96% rename from js/swad16.140.js rename to js/swad16.141.js index 80effb987..5203d04d4 100644 --- a/js/swad16.140.js +++ b/js/swad16.141.js @@ -163,7 +163,9 @@ function setLocalDateTimeFormFromUTC (id,TimeUTC) { var d; var Year; var YearIsValid = false; + var Hou; var Min; + var Sec; if (TimeUTC) { d = new Date(); @@ -175,9 +177,11 @@ function setLocalDateTimeFormFromUTC (id,TimeUTC) { YearIsValid = true; } if (YearIsValid) { - FormMon.options[d.getMonth() ].selected = true; + FormMon.options[d.getMonth()].selected = true; FormDay.options[d.getDate()-1].selected = true; - FormHou.options[d.getHours() ].selected = true; + + Hou = d.getHours(); + FormHou.options[Hou].selected = true; Min = d.getMinutes(); for (var i=FormMin.options.length-1; i>=0; i--) @@ -185,8 +189,11 @@ function setLocalDateTimeFormFromUTC (id,TimeUTC) { FormMin.options[i].selected = true; break; } - if (FormSec) + + if (FormSec) { + Sec = d.getSeconds(); FormSec.options[d.getSeconds()].selected = true; + } } } @@ -280,54 +287,64 @@ function adjustDateForm (id) { } // Set a date range form to yesterday -function setDateToYesterday () { +function setDateToYesterday (idStart,idEnd) { var d = new Date(); d.setTime (d.getTime () - 24 * 60 * 60 * 1000); // Today - 1 day - setDateRange(d); + setDateRange(idStart,idEnd,d); } // Set a date range form to today -function setDateToToday () { +function setDateToToday (idStart,idEnd) { var d = new Date(); - setDateRange(d); + setDateRange(idStart,idEnd,d); } // Set a date range form to a specific day -function setDateRange (d) { +function setDateRange (idStart,idEnd,d) { var FormYea; var Yea = d.getFullYear(); var Mon = d.getMonth() + 1; var Day = d.getDate(); - FormYea = document.getElementById('StartYear'); + FormYea = document.getElementById(idStart+'Year'); for (var i=0; i" "" "" + " onclick=\"setDateToYesterday('Start','End');\" />" "" + " onclick=\"setDateToToday('Start','End');\" />" "" "", Txt_Yesterday, @@ -303,8 +309,9 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (void) Cfg_LOG_START_YEAR, Gbl.Now.Date.Year, Dat_FORM_SECONDS_ON, - false); - + SetHMS000000To235959 ? Dat_HMS_TO_235959 : // Set hour, minute and second to 23:59:59 + Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second + false); // Don't submit on change fprintf (Gbl.F.Out,"" ""); } @@ -347,8 +354,8 @@ void Dat_PutFormStartEndClientLocalDateTimes (time_t TimeUTC[2], Gbl.Now.Date.Year - 1, Gbl.Now.Date.Year + 1, FormSeconds, - false); - + Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second + false); // Don't submit on change fprintf (Gbl.F.Out,"" "" "" @@ -367,6 +374,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, unsigned FirstYear, unsigned LastYear, Dat_FormSeconds FormSeconds, + Dat_SetHMS SetHMS, bool SubmitFormOnChange) { extern const char *Txt_MONTHS_SMALL[12]; @@ -503,15 +511,27 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, ""); /***** Hidden field with UTC time (seconds since 1970) used to send time *****/ - fprintf (Gbl.F.Out,"", + fprintf (Gbl.F.Out,"", Id,ParamName,(long) TimeUTC); /***** Script to set selectors to local date and time from UTC time *****/ fprintf (Gbl.F.Out,"", + "adjustDateForm('%s');", Id,(long) TimeUTC,Id); + switch (SetHMS) + { + case Dat_HMS_TO_000000: + fprintf (Gbl.F.Out,"setHMSTo000000('%s');",Id); + break; + case Dat_HMS_TO_235959: + fprintf (Gbl.F.Out,"setHMSTo235959('%s');",Id); + break; + default: + break; + } + fprintf (Gbl.F.Out,""); } /*****************************************************************************/ diff --git a/swad_date.h b/swad_date.h index 30e35b27e..b15706f04 100644 --- a/swad_date.h +++ b/swad_date.h @@ -92,6 +92,13 @@ typedef enum Dat_FORM_SECONDS_ON, } Dat_FormSeconds; +typedef enum + { + Dat_HMS_DO_NOT_SET = 0, + Dat_HMS_TO_000000 = 1, + Dat_HMS_TO_235959 = 2, + } Dat_SetHMS; + /*****************************************************************************/ /***************************** Public prototypes *****************************/ /*****************************************************************************/ @@ -107,7 +114,7 @@ void Dat_ShowClientLocalTime (void); struct tm *Dat_GetLocalTimeFromClock (const time_t *timep); void Dat_ConvDateToDateStr (struct Date *Date,char *DateStr); -void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (void); +void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (bool SetHMS000000To235959); void Dat_PutFormStartEndClientLocalDateTimes (time_t TimeUTC[2], Dat_FormSeconds FormSeconds); @@ -117,6 +124,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, unsigned FirstYear, unsigned LastYear, Dat_FormSeconds FormSeconds, + Dat_SetHMS SetHMS, bool SubmitFormOnChange); time_t Dat_GetTimeUTCFromForm (const char *ParamName); diff --git a/swad_group.c b/swad_group.c index 83d8f8041..6d80b555c 100644 --- a/swad_group.c +++ b/swad_group.c @@ -1190,7 +1190,8 @@ static void Grp_ListGroupTypesForEdition (void) Gbl.Now.Date.Year, Gbl.Now.Date.Year + 1, Dat_FORM_SECONDS_ON, - true); + Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second + true); // Submit on change fprintf (Gbl.F.Out,"" "" ""); @@ -2133,7 +2134,8 @@ static void Grp_PutFormToCreateGroupType (void) Gbl.Now.Date.Year, Gbl.Now.Date.Year + 1, Dat_FORM_SECONDS_ON, - false); + Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second + false); // Don't submit on change fprintf (Gbl.F.Out,"" "" "" diff --git a/swad_statistic.c b/swad_statistic.c index 4d1053630..ca6784781 100644 --- a/swad_statistic.c +++ b/swad_statistic.c @@ -478,7 +478,7 @@ void Sta_AskShowCrsHits (void) ""); /***** Initial and final dates of the search *****/ - Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (); + Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (Gbl.Action.Act == ActReqAccCrs); /***** Selection of action *****/ Sta_WriteSelectorAction (); @@ -629,7 +629,7 @@ void Sta_AskShowGblHits (void) Hlp_STATS_Visits_global_visits,2); /***** Start and end dates for the search *****/ - Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (); + Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (Gbl.Action.Act == ActReqAccGbl); /***** Users' roles whose accesses we want to see *****/ fprintf (Gbl.F.Out,"" diff --git a/swad_test.c b/swad_test.c index 03aaae2af..b4ccfb332 100644 --- a/swad_test.c +++ b/swad_test.c @@ -1274,7 +1274,7 @@ void Tst_ShowFormAskEditTsts (void) Tst_ShowFormAnswerTypes (2); /***** Starting and ending dates in the search *****/ - Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (); + Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (false); fprintf (Gbl.F.Out,""); /***** Send button *****/ @@ -6948,7 +6948,7 @@ void Tst_SelUsrsToSeeUsrsTestResults (void) ""); /***** Starting and ending dates in the search *****/ - Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (); + Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (false); fprintf (Gbl.F.Out,""); @@ -6992,7 +6992,7 @@ void Tst_SelDatesToSeeMyTestResults (void) /***** Starting and ending dates in the search *****/ Lay_StartRoundFrameTable (NULL,Txt_Test_results, NULL,Hlp_ASSESSMENT_Tests_test_results,2); - Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (); + Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (false); /***** Send button and end frame *****/ Lay_EndRoundFrameTableWithButton (Lay_CONFIRM_BUTTON,Txt_View_test_results);