Refactor task status handling and update styles for task views; add support for 'faktury' status
This commit is contained in:
12
.vscode/ftp-kr.sync.cache.json
vendored
12
.vscode/ftp-kr.sync.cache.json
vendored
@@ -197,20 +197,20 @@
|
||||
"layout": {
|
||||
"style.css": {
|
||||
"type": "-",
|
||||
"size": 17428,
|
||||
"lmtime": 1733687831935,
|
||||
"size": 17483,
|
||||
"lmtime": 1733781023546,
|
||||
"modified": false
|
||||
},
|
||||
"style.css.map": {
|
||||
"type": "-",
|
||||
"size": 31290,
|
||||
"lmtime": 1733687831935,
|
||||
"size": 31297,
|
||||
"lmtime": 1733781023546,
|
||||
"modified": false
|
||||
},
|
||||
"style.scss": {
|
||||
"type": "-",
|
||||
"size": 21703,
|
||||
"lmtime": 1733687831811,
|
||||
"size": 21708,
|
||||
"lmtime": 1733781023371,
|
||||
"modified": false
|
||||
}
|
||||
},
|
||||
|
||||
@@ -87,14 +87,16 @@ class Cron
|
||||
$days_reminder = explode( ',', $row['reminders_interval'] );
|
||||
$max_days_reminder = max( $days_reminder );
|
||||
|
||||
if ( $row['status'] != 2 ) {
|
||||
if ( $row['status'] != 2 )
|
||||
$status = $row['status'];
|
||||
} else {
|
||||
$status = 0;
|
||||
}
|
||||
else
|
||||
$status = 5;
|
||||
|
||||
$task_users = $mdb -> select( 'task_user', 'user_id', ['task_id' => $row['id']] );
|
||||
|
||||
if ( in_array( 6, $task_users ) )
|
||||
$status = 6;
|
||||
|
||||
$new_task_id = \factory\Tasks::task_save(
|
||||
null, $row['id'], $row['created_by'], $row['name'], $row['text'], $new_date_start, $new_date_end, $row['project_id'], $row['client_id'], $row['pay_rate'], $row['reminders_interval'], $row['recursively'] ? 'on' : 'off', $row['frequency'], $row['period'], $task_users, $row['date_end_month_day'], $row['date_start_month_day'], null, $row['task_change_status'], true, $status
|
||||
);
|
||||
|
||||
@@ -36,37 +36,43 @@ class Tasks
|
||||
'tasks_new' => \Tpl::view( 'tasks/main_view_by_ajax', [
|
||||
'tasks' => \factory\Tasks::get_tasks( 0, $user['id'], $projects ),
|
||||
'user' => $user,
|
||||
'statuses' => \factory\Tasks::$statuses,
|
||||
'statuses' => \factory\Tasks::get_statuses(),
|
||||
'open_task_id' => $open_task_id
|
||||
] ),
|
||||
'tasks_to_review' => \Tpl::view( 'tasks/main_view_by_ajax', [
|
||||
'tasks' => \factory\Tasks::get_tasks( 1, $user['id'], $projects ),
|
||||
'user' => $user,
|
||||
'statuses' => \factory\Tasks::$statuses,
|
||||
'statuses' => \factory\Tasks::get_statuses(),
|
||||
'open_task_id' => $open_task_id
|
||||
] ),
|
||||
'tasks_closed' => \Tpl::view( 'tasks/main_view_by_ajax', [
|
||||
'tasks' => $show_tasks_closed == 'hide' ? null : \factory\Tasks::get_tasks( 2, $user['id'], $projects ),
|
||||
'user' => $user,
|
||||
'statuses' => \factory\Tasks::$statuses,
|
||||
'statuses' => \factory\Tasks::get_statuses(),
|
||||
'open_task_id' => $open_task_id
|
||||
] ),
|
||||
'tasks_bulk' => \Tpl::view( 'tasks/main_view_by_ajax', [
|
||||
'tasks' => \factory\Tasks::get_tasks( 3, $user['id'], $projects ),
|
||||
'user' => $user,
|
||||
'statuses' => \factory\Tasks::$statuses,
|
||||
'statuses' => \factory\Tasks::get_statuses(),
|
||||
'open_task_id' => $open_task_id
|
||||
] ),
|
||||
'tasks_suspended' => \Tpl::view( 'tasks/main_view_by_ajax', [
|
||||
'tasks' => \factory\Tasks::get_tasks( 4, $user['id'], $projects ),
|
||||
'user' => $user,
|
||||
'statuses' => \factory\Tasks::$statuses,
|
||||
'statuses' => \factory\Tasks::get_statuses(),
|
||||
'open_task_id' => $open_task_id
|
||||
] ),
|
||||
'tasks_to_do' => \Tpl::view( 'tasks/main_view_by_ajax', [
|
||||
'tasks' => \factory\Tasks::get_tasks( 5, $user['id'], $projects ),
|
||||
'user' => $user,
|
||||
'statuses' => \factory\Tasks::$statuses,
|
||||
'statuses' => \factory\Tasks::get_statuses(),
|
||||
'open_task_id' => $open_task_id
|
||||
] ),
|
||||
'tasks_fvat' => \Tpl::view( 'tasks/main_view_by_ajax', [
|
||||
'tasks' => \factory\Tasks::get_tasks( 6, $user['id'], $projects ),
|
||||
'user' => $user,
|
||||
'statuses' => \factory\Tasks::get_statuses(),
|
||||
'open_task_id' => $open_task_id
|
||||
] )
|
||||
] );
|
||||
@@ -100,8 +106,9 @@ class Tasks
|
||||
'tasks_bulk' => \factory\Tasks::get_tasks( 3, $user['id'], \S::get_session( 'selected_projects' ) ), // opłaty
|
||||
'tasks_suspended' => \factory\Tasks::get_tasks( 4, $user['id'], \S::get_session( 'selected_projects' ) ), // projektowe
|
||||
'tasks_to_do' => \factory\Tasks::get_tasks( 5, $user['id'], \S::get_session( 'selected_projects' ) ), // do zrobienia
|
||||
'tasks_fvat' => \factory\Tasks::get_tasks( 6, $user['id'], \S::get_session( 'selected_projects' ) ), // faktury
|
||||
'user' => $user,
|
||||
'statuses' => \factory\Tasks::$statuses,
|
||||
'statuses' => \factory\Tasks::get_statuses(),
|
||||
'open_task_id' => \factory\Tasks::get_open_task_id( $user['id'] ),
|
||||
'projects' => \factory\Projects::user_projects( $user['id'] ),
|
||||
'selected_projects' => \S::get_session( 'selected_projects' ),
|
||||
@@ -223,11 +230,13 @@ class Tasks
|
||||
{
|
||||
$task = \factory\Tasks::task_details( $task_id );
|
||||
|
||||
$statuses = \factory\Tasks::get_statuses();
|
||||
|
||||
if ( $task['status_change_mail'] )
|
||||
\S::send_email(
|
||||
'jacek.pyziak@project-pro.pl',
|
||||
'crmPRO - zmieniono status zadania',
|
||||
'<p>Witaj<br/>zmieniono status zadania <b>' . $task['name'] . ' - ' . \factory\Crm::get_client_name( (int)$task['client_id'] ) . '</b> na <b>' . \factory\Tasks::$statuses[ $task['status'] ] . '</b>.</p>'
|
||||
'<p>Witaj<br/>zmieniono status zadania <b>' . $task['name'] . ' - ' . \factory\Crm::get_client_name( (int)$task['client_id'] ) . '</b> na <b>' . $statuses[ $task['status'] ] . '</b>.</p>'
|
||||
);
|
||||
}
|
||||
|
||||
@@ -337,7 +346,7 @@ class Tasks
|
||||
echo \Tpl::view( 'tasks/task_popup', [
|
||||
'task' => \factory\Tasks::task_details( \S::get( 'task_id' ), $user['id'] ),
|
||||
'user' => $user,
|
||||
'statuses' => \factory\Tasks::$statuses
|
||||
'statuses' => \factory\Tasks::get_statuses()
|
||||
] );
|
||||
exit;
|
||||
}
|
||||
|
||||
@@ -3,7 +3,17 @@ namespace factory;
|
||||
|
||||
class Tasks
|
||||
{
|
||||
public static $statuses = [ 0 => 'nowe', 3 => 'do rozliczenia', 5 => 'do zrobienia', 4 => 'zawieszone', 1 => 'do sprawdzenia', 2 => 'zamknięte' ];
|
||||
public static $statuses = [ 0 => 'nowe', 3 => 'do rozliczenia', 5 => 'do zrobienia', 4 => 'zawieszone', 1 => 'do sprawdzenia', 6 => 'faktury', 2 => 'zamknięte' ];
|
||||
|
||||
static public function get_statuses()
|
||||
{
|
||||
global $user;
|
||||
|
||||
if ( $user['id'] == 1 )
|
||||
return self::$statuses;
|
||||
else
|
||||
return [ 0 => 'nowe', 3 => 'do rozliczenia', 5 => 'do zrobienia', 4 => 'zawieszone', 1 => 'do sprawdzenia' ];
|
||||
}
|
||||
|
||||
static public function clear_task_opened( $task_id )
|
||||
{
|
||||
|
||||
@@ -38,8 +38,24 @@ class Users
|
||||
|
||||
public static function users_list()
|
||||
{
|
||||
global $mdb;
|
||||
return $mdb -> select( 'users', '*' );
|
||||
global $mdb, $user;
|
||||
$users = $mdb -> select( 'users', '*' );
|
||||
|
||||
if ( $user['id'] === 1 )
|
||||
{
|
||||
return $users;
|
||||
}
|
||||
else
|
||||
{
|
||||
$users_list = [];
|
||||
foreach ( $users as $user )
|
||||
{
|
||||
if ( $user['id'] != 6 )
|
||||
$users_list[] = $user;
|
||||
}
|
||||
|
||||
return $users_list;
|
||||
}
|
||||
}
|
||||
|
||||
public static function settings_save( $user_id, $pushover_api, $pushover_user )
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -301,7 +301,7 @@ body>.top {
|
||||
.tasks_container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 20px;
|
||||
gap: 5px;
|
||||
|
||||
.column {
|
||||
width: 350px;
|
||||
@@ -328,6 +328,12 @@ body>.top {
|
||||
}
|
||||
}
|
||||
|
||||
&.tasks_fvat {
|
||||
h2 {
|
||||
border-bottom: 5px solid #f7fc00;
|
||||
}
|
||||
}
|
||||
|
||||
&.tasks_new {
|
||||
h2 {
|
||||
border-bottom: 5px solid #ccc;
|
||||
|
||||
@@ -43,6 +43,23 @@
|
||||
<? endforeach;?>
|
||||
</ul>
|
||||
</div>
|
||||
<? if ( $this -> user['id'] === 1 ):?>
|
||||
<div class="column tasks_fvat">
|
||||
<h2>Faktury</h2>
|
||||
<ul>
|
||||
<? foreach ( $this -> tasks_fvat as $task ):?>
|
||||
<?
|
||||
echo \Tpl::view( 'tasks/task_single', [
|
||||
'task' => $task,
|
||||
'user' => $this -> user,
|
||||
'statuses' => $this -> statuses,
|
||||
'task_open' => $this -> open_task_id == $task['id'] ? true : false
|
||||
] );
|
||||
?>
|
||||
<? endforeach;?>
|
||||
</ul>
|
||||
</div>
|
||||
<? endif;?>
|
||||
<!-- tasks_suspended -->
|
||||
<div class="column tasks_suspended">
|
||||
<h2>Zadania zawieszone (u klienta)</h2>
|
||||
@@ -143,6 +160,7 @@
|
||||
$( '.tasks_container .tasks_bulk ul' ).empty().append( data.tasks_bulk );
|
||||
$( '.tasks_container .tasks_suspended ul' ).empty().append( data.tasks_suspended );
|
||||
$( '.tasks_container .tasks_to_do ul' ).empty().append( data.tasks_to_do );
|
||||
$( '.tasks_container .tasks_fvat ul' ).empty().append( data.tasks_fvat );
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ if ( is_array( $this -> clients ) )
|
||||
'name' => 'status',
|
||||
'id' => 'status',
|
||||
'value' => $this -> task[ 'status' ],
|
||||
'values' => \factory\Tasks::$statuses
|
||||
'values' => \factory\Tasks::get_statuses()
|
||||
] );?>
|
||||
<? if ( $this -> user['id'] == 1 ):?>
|
||||
<?= \Html::input([
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
<h3>Status</h3>
|
||||
<div class="current_status">
|
||||
<select name="task_status" class="form-control" task_id="<?= $this -> task['id'];?>">
|
||||
<? foreach ( \factory\Tasks::$statuses as $key => $status ):?>
|
||||
<? foreach ( \factory\Tasks::get_statuses() as $key => $status ):?>
|
||||
<option value="<?= $key;?>" <? if ( $this -> task['status'] == $key ):?>selected="selected"<? endif;?>><?= $status;?></option>
|
||||
<? endforeach;?>
|
||||
</select>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
Status:<br><strong><?= $this -> statuses[ $this -> task['status'] ];?></strong>
|
||||
<div class="status_change">
|
||||
<select name="task_status" task_id="<?= $this -> task['id'];?>">
|
||||
<? foreach ( \factory\Tasks::$statuses as $key => $status ):?>
|
||||
<? foreach ( \factory\Tasks::get_statuses() as $key => $status ):?>
|
||||
<option value="<?= $key;?>" <? if ( $this -> task['status'] == $key ):?>selected="selected"<? endif;?>><?= $status;?></option>
|
||||
<? endforeach;?>
|
||||
</select>
|
||||
|
||||
Reference in New Issue
Block a user