saimod todo asignee table, display - missing modification option
This commit is contained in:
parent
1ba6cbd6cd
commit
450a39855b
8
dbd/sql/mysql/schema/system_todo_asign.sql
Normal file
8
dbd/sql/mysql/schema/system_todo_asign.sql
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
CREATE TABLE `system_todo_asign` (
|
||||||
|
`todo` INT(10) NOT NULL,
|
||||||
|
`user` INT(10) UNSIGNED NOT NULL,
|
||||||
|
PRIMARY KEY (`todo`, `user`)
|
||||||
|
)
|
||||||
|
COLLATE='utf8_unicode_ci'
|
||||||
|
ENGINE=InnoDB
|
||||||
|
;
|
||||||
10
dbd/tbl/system_todo_asign.php
Normal file
10
dbd/tbl/system_todo_asign.php
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
namespace SYSTEM\DBD;
|
||||||
|
|
||||||
|
class system_todo_asign {
|
||||||
|
const NAME_PG = 'system.todo_asign';
|
||||||
|
const NAME_MYS = 'system_todo_asign';
|
||||||
|
|
||||||
|
const FIELD_TODO = 'todo';
|
||||||
|
const FIELD_USER = 'user';
|
||||||
|
}
|
||||||
27
sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_LIST.php
Normal file
27
sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_LIST.php
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<?php
|
||||||
|
namespace SYSTEM\DBD;
|
||||||
|
|
||||||
|
class SYS_SAIMOD_TODO_LIST extends \SYSTEM\DB\QP {
|
||||||
|
protected static function query(){
|
||||||
|
return new \SYSTEM\DB\QQuery(get_class(),
|
||||||
|
//pg
|
||||||
|
'TODO',
|
||||||
|
//mys
|
||||||
|
'SELECT * FROM('.
|
||||||
|
' SELECT todo.'.\SYSTEM\DBD\system_todo::FIELD_ID.' as todo_id,'.
|
||||||
|
' todo.'.\SYSTEM\DBD\system_todo::FIELD_TYPE.', todo.'.\SYSTEM\DBD\system_todo::FIELD_CLASS.', todo.'.\SYSTEM\DBD\system_todo::FIELD_TIME.', todo.'.\SYSTEM\DBD\system_todo::FIELD_COUNT.', todo.'.\SYSTEM\DBD\system_todo::FIELD_MESSAGE.', todo.'.\SYSTEM\DBD\system_todo::FIELD_REQUEST_URI.', todo.'.\SYSTEM\DBD\system_todo::FIELD_FILE.', todo.'.\SYSTEM\DBD\system_todo::FIELD_LINE.', todo.'.\SYSTEM\DBD\system_todo::FIELD_SERVER_NAME.', todo.'.\SYSTEM\DBD\system_todo::FIELD_SERVER_PORT.', todo.'.\SYSTEM\DBD\system_todo::FIELD_QUERYTIME.', todo.'.\SYSTEM\DBD\system_todo::FIELD_IP.','.
|
||||||
|
' creator.'.\SYSTEM\DBD\system_user::FIELD_ID.' as creator_id,'.
|
||||||
|
' creator.'.\SYSTEM\DBD\system_user::FIELD_USERNAME.','.
|
||||||
|
' asignee.'.\SYSTEM\DBD\system_user::FIELD_USERNAME.' as asignee,'.
|
||||||
|
' asignee.'.\SYSTEM\DBD\system_user::FIELD_ID.' as asignee_id'.
|
||||||
|
' FROM '.\SYSTEM\DBD\system_todo::NAME_MYS.' as todo'.
|
||||||
|
' LEFT JOIN '.\SYSTEM\DBD\system_todo_asign::NAME_MYS.' as asign ON todo.'.\SYSTEM\DBD\system_todo::FIELD_ID.'=asign.'.\SYSTEM\DBD\system_todo_asign::FIELD_TODO.
|
||||||
|
' LEFT JOIN '.\SYSTEM\DBD\system_user::NAME_MYS.' as creator ON todo.'.\SYSTEM\DBD\system_todo::FIELD_USER.'=creator.'.\SYSTEM\DBD\system_user::FIELD_ID.
|
||||||
|
' LEFT JOIN '.\SYSTEM\DBD\system_user::NAME_MYS.' as asignee ON asign.'.\SYSTEM\DBD\system_todo_asign::FIELD_USER.'=asignee.'.\SYSTEM\DBD\system_user::FIELD_ID.
|
||||||
|
' WHERE todo.'.\SYSTEM\DBD\system_todo::FIELD_STATE.' = ?'.
|
||||||
|
' ORDER BY case when asign.'.\SYSTEM\DBD\system_todo_asign::FIELD_USER.' = ? then 1 else 2 end'.
|
||||||
|
' LIMIT 100'.
|
||||||
|
') as a'.
|
||||||
|
' GROUP BY a.todo_id'.
|
||||||
|
' ORDER BY a.'.\SYSTEM\DBD\system_todo::FIELD_TYPE.' DESC, a.'.\SYSTEM\DBD\system_todo::FIELD_COUNT.' DESC, a.'.\SYSTEM\DBD\system_todo::FIELD_TIME.' DESC'
|
||||||
|
);}}
|
||||||
@ -1,17 +0,0 @@
|
|||||||
<?php
|
|
||||||
namespace SYSTEM\DBD;
|
|
||||||
|
|
||||||
class SYS_SAIMOD_TODO_TODO_LIST extends \SYSTEM\DB\QQ {
|
|
||||||
protected static function query(){
|
|
||||||
return new \SYSTEM\DB\QQuery(get_class(),
|
|
||||||
//pg
|
|
||||||
'SELECT * FROM '.\SYSTEM\DBD\system_todo::NAME_PG.
|
|
||||||
' LEFT JOIN '.\SYSTEM\DBD\system_user::NAME_PG.' ON '.\SYSTEM\DBD\system_todo::NAME_PG.'."'.\SYSTEM\DBD\system_todo::FIELD_USER.'"='.\SYSTEM\DBD\system_user::NAME_PG.'."'.\SYSTEM\DBD\system_user::FIELD_ID.'"'.
|
|
||||||
' WHERE '.\SYSTEM\DBD\system_todo::FIELD_STATE.'='.\SYSTEM\DBD\system_todo::FIELD_STATE_OPEN.
|
|
||||||
' ORDER BY '.\SYSTEM\DBD\system_todo::FIELD_TYPE.' DESC, '.\SYSTEM\DBD\system_todo::FIELD_COUNT.' DESC, '.\SYSTEM\DBD\system_todo::FIELD_TIME.' DESC LIMIT 100;',
|
|
||||||
//mys
|
|
||||||
'SELECT * FROM '.\SYSTEM\DBD\system_todo::NAME_MYS.
|
|
||||||
' LEFT JOIN '.\SYSTEM\DBD\system_user::NAME_MYS.' ON '.\SYSTEM\DBD\system_todo::FIELD_USER.'='.\SYSTEM\DBD\system_user::NAME_MYS.'.'.\SYSTEM\DBD\system_user::FIELD_ID.
|
|
||||||
' WHERE '.\SYSTEM\DBD\system_todo::FIELD_STATE.'='.\SYSTEM\DBD\system_todo::FIELD_STATE_OPEN.
|
|
||||||
' ORDER BY '.\SYSTEM\DBD\system_todo::FIELD_TYPE.' DESC, '.\SYSTEM\DBD\system_todo::FIELD_COUNT.' DESC, '.\SYSTEM\DBD\system_todo::FIELD_TIME.' DESC LIMIT 100;'
|
|
||||||
);}}
|
|
||||||
@ -39,10 +39,11 @@ class saimod_sys_todo extends \SYSTEM\SAI\SaiModule {
|
|||||||
|
|
||||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_todo_action_todolist(){
|
public static function sai_mod__SYSTEM_SAI_saimod_sys_todo_action_todolist(){
|
||||||
$result = $result_user = '';
|
$result = $result_user = '';
|
||||||
$res = \SYSTEM\DBD\SYS_SAIMOD_TODO_TODO_LIST::QQ();
|
$userid = \SYSTEM\SECURITY\Security::getUser()->id;
|
||||||
|
$res = \SYSTEM\DBD\SYS_SAIMOD_TODO_LIST::QQ(array(\SYSTEM\DBD\system_todo::FIELD_STATE_OPEN,$userid));
|
||||||
$count = \SYSTEM\DBD\SYS_SAIMOD_TODO_TODO_COUNT::Q1()['count'];
|
$count = \SYSTEM\DBD\SYS_SAIMOD_TODO_TODO_COUNT::Q1()['count'];
|
||||||
while($row = $res->next()){
|
while($row = $res->next()){
|
||||||
$row['class_row'] = self::trclass($row['type'],$row['class']);
|
$row['class_row'] = self::trclass($row['type'],$row['class'],$row['asignee_id'],$userid);
|
||||||
$row['time_elapsed'] = \SYSTEM\time::time_ago_string(strtotime($row['time']));
|
$row['time_elapsed'] = \SYSTEM\time::time_ago_string(strtotime($row['time']));
|
||||||
//$row['report_type'] = self::reporttype($row['type']);
|
//$row['report_type'] = self::reporttype($row['type']);
|
||||||
$row['state_string'] = self::state($row['count']);
|
$row['state_string'] = self::state($row['count']);
|
||||||
@ -129,9 +130,12 @@ class saimod_sys_todo extends \SYSTEM\SAI\SaiModule {
|
|||||||
return '<input type="submit" class="btn-danger" value="reopen">';}
|
return '<input type="submit" class="btn-danger" value="reopen">';}
|
||||||
return '<input type="submit" class="btn-danger" value="close">';}
|
return '<input type="submit" class="btn-danger" value="close">';}
|
||||||
|
|
||||||
private static function trclass($type,$class){
|
private static function trclass($type,$class,$asignee,$userid){
|
||||||
if($type == \SYSTEM\DBD\system_todo::FIELD_TYPE_USER){
|
if($type == \SYSTEM\DBD\system_todo::FIELD_TYPE_USER){
|
||||||
return 'success';}
|
if($asignee == $userid){ return 'danger';}
|
||||||
|
if($asignee){ return 'warning';}
|
||||||
|
return 'success';
|
||||||
|
}
|
||||||
switch($class){
|
switch($class){
|
||||||
case 'SYSTEM\LOG\INFO': case 'INFO': case 'SYSTEM\LOG\COUNTER':
|
case 'SYSTEM\LOG\INFO': case 'INFO': case 'SYSTEM\LOG\COUNTER':
|
||||||
return 'success';
|
return 'success';
|
||||||
|
|||||||
@ -5,7 +5,8 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th>${time_ago}</th>
|
<th>${time_ago}</th>
|
||||||
<th>${table_message}</th>
|
<th>${table_message}</th>
|
||||||
<th>${table_user}</th>
|
<th>${table_author}</th>
|
||||||
|
<th>${table_asignee}</th>
|
||||||
</tr>
|
</tr>
|
||||||
${todo_user_list_elements}
|
${todo_user_list_elements}
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
<tr class="sai_todo_element ${class_row}" onClick="system.load('todo(todo${openclose});todo.${ID}');">
|
<tr class="sai_todo_element ${class_row}" onClick="system.load('todo(todo${openclose});todo.${todo_id}');">
|
||||||
<td>${time_elapsed}</td>
|
<td>${time_elapsed}</td>
|
||||||
<td>${class}</td>
|
<td>${class}</td>
|
||||||
<td style="word-break: break-all;">${message}</td>
|
<td style="word-break: break-all;">${message}</td>
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
<tr class="sai_todo_element ${class_row}" onClick="system.load('todo(todo${openclose});todo.${ID}');">
|
<tr class="sai_todo_element ${class_row}" onClick="system.load('todo(todo${openclose});todo.${todo_id}');">
|
||||||
<td>${time_elapsed}</td>
|
<td>${time_elapsed}</td>
|
||||||
<td style="word-break: break-all;">${message}</td>
|
<td style="word-break: break-all;">${message}</td>
|
||||||
<td>${username}</td>
|
<td>${username}</td>
|
||||||
|
<td>${asignee}</td>
|
||||||
</tr>
|
</tr>
|
||||||
Loading…
x
Reference in New Issue
Block a user