@@ -626,14 +626,14 @@ public function get_task_actions( $data = [] ) {
626626 return $ actions ;
627627 }
628628
629- if ( $ this ->is_dismissable () && 'user ' !== static ::PROVIDER_ID ) {
629+ if ( $ this ->capability_required () && $ this -> is_dismissable () && 'user ' !== static ::PROVIDER_ID ) {
630630 $ actions [] = [
631631 'priority ' => 20 ,
632632 'html ' => '<button type="button" class="prpl-suggested-task-button" data-task-id=" ' . \esc_attr ( $ data ['meta ' ]['prpl_task_id ' ] ) . '" data-task-title=" ' . \esc_attr ( $ data ['title ' ]['rendered ' ] ) . '" data-action="complete" data-target="complete" title=" ' . \esc_html__ ( 'Mark as complete ' , 'progress-planner ' ) . '" onclick="prplSuggestedTask.maybeComplete( ' . (int ) $ data ['id ' ] . ');"><span class="prpl-tooltip-action-text"> ' . \esc_html__ ( 'Mark as complete ' , 'progress-planner ' ) . '</span><span class="screen-reader-text"> ' . \esc_html__ ( 'Mark as complete ' , 'progress-planner ' ) . '</span></button> ' ,
633633 ];
634634 }
635635
636- if ( $ this ->is_snoozable () ) {
636+ if ( $ this ->capability_required () && $ this -> is_snoozable () ) {
637637 $ snooze_html = '<prpl-tooltip class="prpl-suggested-task-snooze"><slot name="open"><button type="button" class="prpl-suggested-task-button" data-task-id=" ' . \esc_attr ( $ data ['meta ' ]['prpl_task_id ' ] ) . '" data-task-title=" ' . \esc_attr ( $ data ['title ' ]['rendered ' ] ) . '" data-action="snooze" data-target="snooze" title=" ' . \esc_attr__ ( 'Snooze ' , 'progress-planner ' ) . '"><span class="prpl-tooltip-action-text"> ' . \esc_html__ ( 'Snooze ' , 'progress-planner ' ) . '</span><span class="screen-reader-text"> ' . \esc_html__ ( 'Snooze ' , 'progress-planner ' ) . '</span></button></slot><slot name="content"> ' ;
638638 $ snooze_html .= '<fieldset><legend><span> ' . \esc_html__ ( 'Snooze this task? ' , 'progress-planner ' ) . '</span><button type="button" class="prpl-toggle-radio-group" onclick="this.closest( \'.prpl-suggested-task-snooze \').classList.toggle( \'prpl-toggle-radio-group-open \');"><span class="prpl-toggle-radio-group-text"> ' . \esc_html__ ( 'How long? ' , 'progress-planner ' ) . '</span><span class="prpl-toggle-radio-group-arrow">›</span></button></legend><div class="prpl-snooze-duration-radio-group"> ' ;
639639 foreach (
@@ -704,4 +704,26 @@ function ( $a, $b ) {
704704 public function add_task_actions ( $ data = [], $ actions = [] ) {
705705 return $ actions ;
706706 }
707+
708+ /**
709+ * Check if the task has activity.
710+ *
711+ * @param string $task_id The task ID.
712+ *
713+ * @return bool
714+ */
715+ public function task_has_activity ( $ task_id = '' ) {
716+ if ( empty ( $ task_id ) ) {
717+ $ task_id = $ this ->get_task_id ();
718+ }
719+
720+ $ activity = \progress_planner ()->get_activities__query ()->query_activities (
721+ [
722+ 'category ' => 'suggested_task ' ,
723+ 'data_id ' => $ task_id ,
724+ ]
725+ );
726+
727+ return ! empty ( $ activity );
728+ }
707729}
0 commit comments