| @@ -99,9 +99,9 @@ | ||
| 99 | 99 | public function wppm_page_inline_script() { ?> |
| 100 | 100 | <script type="text/javascript"> |
| 101 | 101 | jQuery( document ).ready( function( jQuery ) { |
| 102 | 102 | <?php if(is_user_logged_in()){ |
| 103 | - if( (!((isset($_REQUEST['task-id'])) && (!empty(sanitize_text_field($_REQUEST['auth-code'] )))))){ | |
| 103 | + if( (!((isset($_REQUEST['task-id'])) && (!empty(sanitize_text_field(wp_unslash($_REQUEST['auth-code'] ))))))){ | |
| 104 | 104 | if(get_option('wppm_default_task_list_view')==1){ ?> |
| 105 | 105 | wppm_get_task_list(); |
| 106 | 106 | <?php } else{ |
| 107 | 107 | ?> wppm_view_task_search_filter(); |
| @@ -106,10 +106,10 @@ | ||
| 106 | 106 | <?php } else{ |
| 107 | 107 | ?> wppm_view_task_search_filter(); |
| 108 | 108 | <?php } |
| 109 | 109 | } |
| 110 | - if((isset($_REQUEST['task-id'])) && (!empty(sanitize_text_field($_REQUEST['auth-code'] )))){ ?> | |
| 111 | - wppm_open_task(<?php echo esc_js(sanitize_text_field($_REQUEST['task-id'])); ?>); | |
| 110 | + if((isset($_REQUEST['task-id'])) && (!empty(sanitize_text_field(wp_unslash($_REQUEST['auth-code'] ))))){ ?> | |
| 111 | + wppm_open_task(<?php echo (intval(wp_unslash($_REQUEST['task-id']))); ?>); | |
| 112 | 112 | <?php } |
| 113 | 113 | } |
| 114 | 114 | else{ ?> |
| 115 | 115 | wppm_task_sign_in(); |
| @@ -119,9 +119,10 @@ | ||
| 119 | 119 | function wppm_get_task_list(page_no){ |
| 120 | 120 | jQuery('#wppm_task_container').show(); |
| 121 | 121 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 122 | 122 | var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]); |
| 123 | - <?php echo do_action('wppm_task_list_dataform');?> | |
| 123 | + jQuery(document).trigger('wppm_task_list_dataform', [dataform]); | |
| 124 | + <?php //do_action('wppm_task_list_dataform');?> | |
| 124 | 125 | dataform.append("page_no", page_no); |
| 125 | 126 | dataform.append("action", 'wppm_get_task_list'); |
| 126 | 127 | dataform.append("is_frontend", '1'); |
| 127 | 128 | dataform.append("page",'wppm-tasks'); |
| @@ -145,9 +146,9 @@ | ||
| 145 | 146 | function wppm_add_new_task(proj_id){ |
| 146 | 147 | jQuery('#wppm_task_container').show(); |
| 147 | 148 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 148 | 149 | var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]); |
| 149 | - <?php echo do_action('wppm_add_new_task_dataform');?> | |
| 150 | + jQuery(document).trigger('wppm_add_new_task_dataform', [dataform]); | |
| 150 | 151 | dataform.append("proj_id", proj_id); |
| 151 | 152 | dataform.append("action", 'wppm_add_new_task'); |
| 152 | 153 | jQuery.ajax( { |
| 153 | 154 | url: wppm_admin.ajax_url, |
| @@ -162,12 +163,22 @@ | ||
| 162 | 163 | } |
| 163 | 164 | |
| 164 | 165 | function wppm_apply_task_filter(){ |
| 165 | 166 | wppm_task_filter = jQuery('#wppm_task_filter').find(":selected").val(); |
| 167 | + var listFilters = {}; | |
| 168 | + listFilters.created_by = jQuery("#tb-created-by").val(); | |
| 169 | + listFilters.created_by = listFilters.created_by ? listFilters.created_by : []; | |
| 170 | + listFilters.assigned = jQuery("#tb-assigned").val(); | |
| 171 | + listFilters.assigned = listFilters.assigned ? listFilters.assigned : []; | |
| 172 | + listFilters.priority = jQuery("#tb-priority").val(); | |
| 173 | + listFilters.priority = listFilters.priority ? listFilters.priority : []; | |
| 174 | + listFilters.start_date = jQuery("#tb-start-date").val() || ""; | |
| 175 | + listFilters.end_date = jQuery("#tb-end-date").val() || ""; | |
| 166 | 176 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 167 | 177 | var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]); |
| 168 | - <?php echo do_action('wppm_apply_task_filter_dataform');?> | |
| 178 | + jQuery(document).trigger('wppm_apply_task_filter_dataform', [dataform]); | |
| 169 | 179 | dataform.append("wppm_task_filter", wppm_task_filter); |
| 180 | + dataform.append("filters", JSON.stringify(listFilters)); | |
| 170 | 181 | dataform.append("is_frontend", '1'); |
| 171 | 182 | dataform.append("action", 'wppm_get_task_list'); |
| 172 | 183 | dataform.append("page",'wppm-tasks'); |
| 173 | 184 | <?php if(!empty($this->shortcode_attr['project'])){ ?> |
| @@ -181,12 +192,22 @@ | ||
| 181 | 192 | contentType: false |
| 182 | 193 | }) |
| 183 | 194 | .done(function( response ) { |
| 184 | 195 | jQuery('#wppm_task_container').html(response); |
| 196 | + setListFilterCookie(listFilters); | |
| 197 | + setTimeout(function(){ | |
| 198 | + syncUIWithFilters(listFilters); | |
| 199 | + renderActiveFilters(listFilters); | |
| 200 | + }, 100); | |
| 185 | 201 | }); |
| 186 | 202 | } |
| 187 | 203 | |
| 188 | 204 | function wppm_tl_reset_filter(){ |
| 205 | + // clear advanced filters + cookie BEFORE requesting the list, | |
| 206 | + // otherwise this request still sends the stale tb_list_filters | |
| 207 | + // cookie and the reset only takes effect on the next click | |
| 208 | + resetFilters('list'); | |
| 209 | + | |
| 189 | 210 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 190 | 211 | var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]); |
| 191 | 212 | dataform.append("action", 'wppm_get_task_list'); |
| 192 | 213 | dataform.append("wppm_task_filter", 'all'); |
| @@ -198,9 +219,9 @@ | ||
| 198 | 219 | dataform.append("page",'wppm-tasks'); |
| 199 | 220 | <?php if(!empty($this->shortcode_attr['project'])){ ?> |
| 200 | 221 | dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>"); |
| 201 | 222 | <?php } ?> |
| 202 | - <?php echo do_action('wppm_tl_reset_filter_dataform');?> | |
| 223 | + jQuery(document).trigger('wppm_tl_reset_filter_dataform', [dataform]); | |
| 203 | 224 | jQuery.ajax( { |
| 204 | 225 | url: wppm_admin.ajax_url, |
| 205 | 226 | type: 'POST', |
| 206 | 227 | data: dataform, |
| @@ -205,9 +226,9 @@ | ||
| 205 | 226 | type: 'POST', |
| 206 | 227 | data: dataform, |
| 207 | 228 | processData: false, |
| 208 | 229 | contentType: false |
| 209 | - }) | |
| 230 | + }) | |
| 210 | 231 | .done(function( response ) { |
| 211 | 232 | jQuery('#wppm_task_container').html(response); |
| 212 | 233 | }); |
| 213 | 234 | } |
| @@ -216,9 +237,9 @@ | ||
| 216 | 237 | var task_search = jQuery("#wppm_task_search_filter").val(); |
| 217 | 238 | jQuery('#wppm_task_container').show(); |
| 218 | 239 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 219 | 240 | var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]); |
| 220 | - <?php echo do_action('wppm_task_search_filter_dataform');?> | |
| 241 | + jQuery(document).trigger('wppm_task_search_filter_dataform', [dataform]); | |
| 221 | 242 | dataform.append("action", 'wppm_get_task_list'); |
| 222 | 243 | dataform.append("is_frontend", '1'); |
| 223 | 244 | dataform.append("page",'wppm-tasks'); |
| 224 | 245 | <?php if(!empty($this->shortcode_attr['project'])){ ?> |
| @@ -237,13 +258,13 @@ | ||
| 237 | 258 | }); |
| 238 | 259 | } |
| 239 | 260 | |
| 240 | 261 | function wppm_display_grid_view(){ |
| 241 | - var task_search = jQuery("#wppm_view_task_search_filter").val(); | |
| 262 | + var task_search = jQuery("#wppm_view_task_search_filter").val() || ''; | |
| 242 | 263 | jQuery('#wppm_task_container').show(); |
| 243 | 264 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 244 | 265 | var dataform=new FormData(jQuery('#wppm_view_project_task')[0]); |
| 245 | - <?php echo do_action('wppm_display_grid_view_dataform');?> | |
| 266 | + jQuery(document).trigger('wppm_display_grid_view_dataform', [dataform]); | |
| 246 | 267 | dataform.append("action", 'wppm_get_task_list_card_view'); |
| 247 | 268 | dataform.append("task_search", task_search); |
| 248 | 269 | dataform.append("is_frontend", '1'); |
| 249 | 270 | dataform.append("page",'wppm-tasks'); |
| @@ -265,13 +286,13 @@ | ||
| 265 | 286 | function wppm_sort_up_task_list(sort_by,order){ |
| 266 | 287 | jQuery('#wppm_task_container').show(); |
| 267 | 288 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 268 | 289 | var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]); |
| 269 | - <?php echo do_action('wppm_sort_up_task_list_dataform');?> | |
| 270 | 290 | dataform.append("action", 'wppm_get_task_list'); |
| 271 | 291 | dataform.append("sort_by", sort_by); |
| 272 | 292 | dataform.append("order", order); |
| 273 | 293 | dataform.append("is_frontend", '1'); |
| 294 | + jQuery(document).trigger('wppm_sort_up_task_list_dataform', [dataform]); | |
| 274 | 295 | dataform.append("page",'wppm-tasks'); |
| 275 | 296 | <?php if(!empty($this->shortcode_attr['project'])){ ?> |
| 276 | 297 | dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>"); |
| 277 | 298 | <?php } ?> |
| @@ -287,18 +308,13 @@ | ||
| 287 | 308 | }); |
| 288 | 309 | } |
| 289 | 310 | |
| 290 | 311 | function wppm_view_task_search_filter(page_no){ |
| 291 | - var task_search = jQuery("#wppm_view_task_search_filter").val(); | |
| 292 | - if(typeof task_search == "undefined"){ | |
| 293 | - var task_search =""; | |
| 294 | - }else{ | |
| 295 | - var task_search =jQuery("#wppm_view_task_search_filter").val(); | |
| 296 | - } | |
| 312 | + var task_search = jQuery("#wppm_view_task_search_filter").val() || ''; | |
| 297 | 313 | jQuery('#wppm_task_container').show(); |
| 298 | 314 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 299 | 315 | var dataform=new FormData(jQuery('#wppm_view_project_task')[0]); |
| 300 | - <?php echo do_action('wppm_view_task_search_filter_dataform');?> | |
| 316 | + jQuery(document).trigger('wppm_view_task_search_filter_dataform', [dataform]); | |
| 301 | 317 | dataform.append("action", 'wppm_get_task_list_card_view'); |
| 302 | 318 | dataform.append("task_search", task_search); |
| 303 | 319 | dataform.append("page_no",page_no); |
| 304 | 320 | dataform.append("is_frontend", '1'); |
| @@ -321,9 +337,9 @@ | ||
| 321 | 337 | function wppm_apply_task_filter_grid_view(){ |
| 322 | 338 | wppm_task_filter = jQuery('#wppm_task_filter').find(":selected").val(); |
| 323 | 339 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 324 | 340 | var dataform=new FormData(jQuery('#wppm_view_project_task')[0]); |
| 325 | - <?php echo do_action('wppm_apply_task_filter_grid_view_dataform');?> | |
| 341 | + jQuery(document).trigger('wppm_apply_task_filter_grid_view_dataform', [dataform]); | |
| 326 | 342 | dataform.append("action", 'wppm_view_project_tasks'); |
| 327 | 343 | dataform.append("wppm_task_filter", wppm_task_filter); |
| 328 | 344 | dataform.append("is_frontend", '1'); |
| 329 | 345 | dataform.append("page",'wppm-tasks'); |
| @@ -342,11 +358,26 @@ | ||
| 342 | 358 | }); |
| 343 | 359 | } |
| 344 | 360 | |
| 345 | 361 | function wppm_tl_reset_grid_view_filter(){ |
| 362 | + // clear advanced filters + cookie BEFORE requesting the list, | |
| 363 | + // otherwise this request still sends the stale tb_filters cookie | |
| 364 | + // and the advanced filters never actually get reset | |
| 365 | + jQuery("#tb-created-by").val(null).trigger("change"); | |
| 366 | + jQuery("#tb-assigned").val(null).trigger("change"); | |
| 367 | + jQuery("#tb-priority").val(null).trigger("change"); | |
| 368 | + jQuery("#tb-start-date").val(""); | |
| 369 | + jQuery("#tb-end-date").val(""); | |
| 370 | + jQuery("#tb-advanced-panel").removeClass("tb-open"); | |
| 371 | + jQuery("#tb-backdrop").removeClass("active"); | |
| 372 | + jQuery("#tb-active-filters").html(''); | |
| 373 | + window.filters = { created_by: [], assigned: [], priority: [], start_date: "", end_date: "" }; | |
| 374 | + document.cookie = "tb_filters=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; | |
| 375 | + window.localStorage.removeItem('wppm_task_filter'); | |
| 376 | + | |
| 346 | 377 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 347 | 378 | var dataform=new FormData(jQuery('#wppm_view_project_task')[0]); |
| 348 | - <?php echo do_action('wppm_tl_reset_grid_view_filter_dataform');?> | |
| 379 | + jQuery(document).trigger('wppm_tl_reset_grid_view_filter_dataform', [dataform]); | |
| 349 | 380 | dataform.append("action", 'wppm_view_project_tasks'); |
| 350 | 381 | dataform.append("task_search", ""); |
| 351 | 382 | dataform.append("wppm_task_filter", "all"); |
| 352 | 383 | dataform.append("sort_by", "task_name"); |
| @@ -362,18 +393,19 @@ | ||
| 362 | 393 | type: 'POST', |
| 363 | 394 | data: dataform, |
| 364 | 395 | processData: false, |
| 365 | 396 | contentType: false |
| 366 | - }) | |
| 397 | + }) | |
| 367 | 398 | .done(function( response ) { |
| 368 | 399 | jQuery('#wppm_task_container').html(response); |
| 369 | 400 | }); |
| 370 | 401 | } |
| 402 | + | |
| 371 | 403 | function wppm_tasks_by_select_project(){ |
| 372 | 404 | wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val(); |
| 373 | 405 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 374 | 406 | var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]); |
| 375 | - <?php echo do_action('wppm_change_proj_tl_filter_dataform');?> | |
| 407 | + jQuery(document).trigger('wppm_change_proj_tl_filter_dataform', [dataform]); | |
| 376 | 408 | dataform.append("action", 'wppm_get_task_list'); |
| 377 | 409 | dataform.append("wppm_proj_filter",wppm_proj_filter); |
| 378 | 410 | dataform.append("is_frontend", '1'); |
| 379 | 411 | dataform.append("page",'wppm-tasks'); |
| @@ -392,9 +424,9 @@ | ||
| 392 | 424 | function wppm_tasks_by_select_project_grid_view(){ |
| 393 | 425 | wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val(); |
| 394 | 426 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 395 | 427 | var dataform=new FormData(jQuery('#wppm_view_project_task')[0]); |
| 396 | - <?php echo do_action('wppm_change_proj_grid_view_filter_dataform');?> | |
| 428 | + jQuery(document).trigger('wppm_change_proj_grid_view_filter_dataform', [dataform]); | |
| 397 | 429 | dataform.append("action", 'wppm_view_project_tasks'); |
| 398 | 430 | dataform.append("wppm_proj_filter",wppm_proj_filter); |
| 399 | 431 | dataform.append("is_frontend", '1'); |
| 400 | 432 | dataform.append("page",'wppm-tasks'); |