@@ -795,9 +795,13 @@ public function search_form($parameters = null)
795795 // Add param value pair into search_fields array
796796 $ search_fields [$ key ] = $ param ;
797797
798- }elseif (in_array ($ key , $ a_text_params )){
798+ }elseif (in_array ($ key , $ a_text_params ) or in_array ( $ key , $ this -> a_search_fields_date ) ){
799799 // Decode strings in URL
800800 $ search_fields [$ key ] = urldecode ($ param );
801+
802+ }elseif (in_array (str_replace ('_type ' , '' , $ key ), $ this ->a_search_fields_date )){
803+ // Get date field related type
804+ $ search_fields [$ key ] = $ param ;
801805 }
802806
803807 // key reset to look for a new parameter
@@ -812,7 +816,14 @@ public function search_form($parameters = null)
812816 }
813817 }
814818
815- if (isset ($ search_fields )){
819+ foreach ($ this ->a_search_fields_date as $ field ){
820+ if (isset ($ search_fields [$ field ]) and !isset ($ search_fields [$ field . '_type ' ])){
821+ // Unset date field if it's type is not specified
822+ unset($ search_fields [$ field ]);
823+ }
824+ }
825+
826+ if (isset ($ search_fields ) and $ search_fields ){
816827 // Store search fields in session to use in datatable
817828 session (compact ('search_fields ' ));
818829
@@ -840,6 +851,8 @@ public function search_form_defaults()
840851
841852 $ priorities = $ this ->getCacheList ('priorities ' );
842853
854+ $ a_date_additional_types = ['until ' , 'exact_year ' , 'exact_month ' , 'exact_day ' ];
855+
843856 $ a_categories = $ this ->member ->findOrFail (auth ()->user ()->id )->getEditTicketCategories ();
844857
845858 $ c_visible_agents = Member::visible ()->get ();
@@ -856,7 +869,7 @@ public function search_form_defaults()
856869 ])
857870 ->select ('id ' , 'name ' )->get ();
858871
859- $ data = compact ('c_members ' , 'c_status ' , 'priorities ' , 'a_categories ' , 'c_visible_agents ' , 'c_cat_tags ' );
872+ $ data = compact ('c_members ' , 'c_status ' , 'priorities ' , 'a_date_additional_types ' , ' a_categories ' , 'c_visible_agents ' , 'c_cat_tags ' );
860873
861874 if (Setting::grab ('departments_feature ' )){
862875 $ data ['c_departments ' ] = Department::whereNull ('department_id ' )->with ('descendants.ancestor ' )->orderBy ('name ' , 'asc ' )->get ();
0 commit comments