@@ -615,6 +615,33 @@ function(reponse) {
615
615
$ maxTimeAllowed = isset ($ _POST ['maxTimeAllowed ' ]) ? $ _POST ['maxTimeAllowed ' ] : '' ;
616
616
617
617
if ($ _POST ['type ' ] == TOOL_DOCUMENT ) {
618
+
619
+ // form validations after submit.
620
+ $ error = false ;
621
+ $ errMsg = '' ;
622
+ if (true === api_get_configuration_value ('lp_item_prerequisite_dates ' )) {
623
+ if (!isset ($ _POST ['extra_start_date ' ])) {
624
+ $ _POST ['extra_start_date ' ] = 0 ;
625
+ }
626
+ if (!isset ($ _POST ['extra_end_date ' ])) {
627
+ $ _POST ['extra_end_date ' ] = 0 ;
628
+ }
629
+ $ extraStartDate = $ _POST ['extra_start_date ' ];
630
+ $ extraEndDate = $ _POST ['extra_end_date ' ];
631
+ if (!empty ($ extraStartDate ) && !empty ($ extraEndDate )) {
632
+ $ error = !(strtotime ($ extraEndDate ) >= strtotime ($ extraStartDate ));
633
+ }
634
+ if ($ error ) {
635
+ $ errMsg = get_lang ('StartDateMustBeBeforeTheEndDate ' );
636
+ }
637
+ }
638
+
639
+ if ($ error ) {
640
+ Display::addFlash (Display::return_message ($ errMsg , 'error ' ));
641
+ header ('Location: ' .api_request_uri ());
642
+ exit ;
643
+ }
644
+
618
645
if (isset ($ _POST ['path ' ]) && $ _GET ['edit ' ] != 'true ' ) {
619
646
$ document_id = $ _POST ['path ' ];
620
647
} else {
@@ -629,7 +656,7 @@ function(reponse) {
629
656
}
630
657
}
631
658
632
- $ _SESSION ['oLP ' ]->add_item (
659
+ $ lastItemId = $ _SESSION ['oLP ' ]->add_item (
633
660
$ parent ,
634
661
$ previous ,
635
662
$ type ,
@@ -638,6 +665,13 @@ function(reponse) {
638
665
$ description ,
639
666
$ prerequisites
640
667
);
668
+
669
+ if (!empty ($ lastItemId )) {
670
+ $ params = $ _POST ;
671
+ $ params ['item_id ' ] = $ lastItemId ;
672
+ $ extraFieldValues = new ExtraFieldValue ('lp_item ' );
673
+ $ extraFieldValues ->saveFieldValues ($ params , true );
674
+ }
641
675
} elseif ($ _POST ['type ' ] == TOOL_READOUT_TEXT ) {
642
676
if (isset ($ _POST ['path ' ]) && $ _GET ['edit ' ] != 'true ' ) {
643
677
$ document_id = $ _POST ['path ' ];
0 commit comments