Skip to content
Snippets Groups Projects
Commit 3a91b04e authored by Guillaume Heurtier's avatar Guillaume Heurtier
Browse files

FEAT #14247 TIME 2:20 fix note notifications

parent 502001f5
No related branches found
No related tags found
No related merge requests found
...@@ -19,7 +19,7 @@ switch ($request) { ...@@ -19,7 +19,7 @@ switch ($request) {
$select = 'SELECT distinct us.*'; $select = 'SELECT distinct us.*';
$from = ' FROM listinstance li ' $from = ' FROM listinstance li '
.' JOIN users us ON li.item_id = us.user_id'; .' JOIN users us ON li.item_id = us.user_id';
$where = " WHERE li.coll_id = 'letterbox_coll' AND li.item_mode = 'cc'" $where = " WHERE li.item_mode = 'cc'"
." AND item_type='user_id'"; ." AND item_type='user_id'";
$arrayPDO = array(':recordid' => $event->record_id); $arrayPDO = array(':recordid' => $event->record_id);
...@@ -27,7 +27,7 @@ switch ($request) { ...@@ -27,7 +27,7 @@ switch ($request) {
switch ($event->table_name) { switch ($event->table_name) {
case 'notes': case 'notes':
$from .= ' JOIN notes ON notes.identifier = li.res_id'; $from .= ' JOIN notes ON notes.identifier = li.res_id';
$where .= ' AND notes.id = :recordid AND li.item_id != notes.user_id' $where .= ' AND notes.id = :recordid AND li.item_id != (SELECT user_id FROM users WHERE id = notes.user_id)'
.' AND (' .' AND ('
.' notes.id not in (SELECT DISTINCT note_id FROM note_entities) ' .' notes.id not in (SELECT DISTINCT note_id FROM note_entities) '
.' OR us.user_id IN (SELECT ue.user_id FROM note_entities ne JOIN users_entities ue ON ne.item_id = ue.entity_id WHERE ne.note_id = :recordid)' .' OR us.user_id IN (SELECT ue.user_id FROM note_entities ne JOIN users_entities ue ON ne.item_id = ue.entity_id WHERE ne.note_id = :recordid)'
...@@ -66,13 +66,13 @@ switch ($request) { ...@@ -66,13 +66,13 @@ switch ($request) {
$from = ' FROM listinstance li ' $from = ' FROM listinstance li '
.' LEFT JOIN users_entities ue ON li.item_id = ue.entity_id ' .' LEFT JOIN users_entities ue ON li.item_id = ue.entity_id '
.' JOIN users us ON ue.user_id = us.user_id'; .' JOIN users us ON ue.user_id = us.user_id';
$where = " WHERE li.coll_id = 'letterbox_coll' AND li.item_mode = 'cc'" $where = " WHERE li.item_mode = 'cc'"
." AND item_type='entity_id'"; ." AND item_type='entity_id'";
switch ($event->table_name) { switch ($event->table_name) {
case 'notes': case 'notes':
$from .= ' JOIN notes ON notes.identifier = li.res_id'; $from .= ' JOIN notes ON notes.identifier = li.res_id';
$where .= ' AND notes.id = :recordid AND li.item_id != notes.user_id' $where .= ' AND notes.id = :recordid AND li.item_id != (SELECT user_id FROM users WHERE id = notes.user_id)'
.' AND (' .' AND ('
.' notes.id not in (SELECT DISTINCT note_id FROM note_entities) ' .' notes.id not in (SELECT DISTINCT note_id FROM note_entities) '
.' OR us.user_id IN (SELECT ue.user_id FROM note_entities ne JOIN users_entities ue ON ne.item_id = ue.entity_id WHERE ne.note_id = :recordid)' .' OR us.user_id IN (SELECT ue.user_id FROM note_entities ne JOIN users_entities ue ON ne.item_id = ue.entity_id WHERE ne.note_id = :recordid)'
...@@ -112,12 +112,12 @@ switch ($request) { ...@@ -112,12 +112,12 @@ switch ($request) {
$arrayPDO = array(':recordid' => $event->record_id); $arrayPDO = array(':recordid' => $event->record_id);
$select = 'SELECT li.res_id'; $select = 'SELECT li.res_id';
$from = ' FROM listinstance li'; $from = ' FROM listinstance li';
$where = " WHERE li.coll_id = 'letterbox_coll' "; $where = " WHERE (1=1) ";
switch ($event->table_name) { switch ($event->table_name) {
case 'notes': case 'notes':
$from .= ' JOIN notes ON notes.identifier = li.res_id'; $from .= ' JOIN notes ON notes.identifier = li.res_id';
$where .= ' AND notes.id = :recordid AND li.item_id != notes.user_id'; $where .= ' AND notes.id = :recordid AND li.item_id != (SELECT user_id FROM users WHERE id = notes.user_id)';
break; break;
case 'res_letterbox': case 'res_letterbox':
......
...@@ -40,14 +40,14 @@ switch ($request) { ...@@ -40,14 +40,14 @@ switch ($request) {
case 'res_id': case 'res_id':
$select = 'SELECT li.res_id'; $select = 'SELECT li.res_id';
$from = ' FROM listinstance li'; $from = ' FROM listinstance li';
$where = " WHERE li.coll_id = 'letterbox_coll' "; $where = " WHERE (1=1) ";
$arrayPDO = array(':recordid' => $event->record_id); $arrayPDO = array(':recordid' => $event->record_id);
switch ($event->table_name) { switch ($event->table_name) {
case 'notes': case 'notes':
$from .= ' JOIN notes ON notes.identifier = li.res_id'; $from .= ' JOIN notes ON notes.identifier = li.res_id';
$from .= ' JOIN res_letterbox lb ON lb.res_id = notes.identifier'; $from .= ' JOIN res_letterbox lb ON lb.res_id = notes.identifier';
$where .= ' AND notes.id = :recordid AND li.item_id != notes.user_id'; $where .= ' AND notes.id = :recordid AND li.item_id != (SELECT user_id FROM users WHERE id = notes.user_id)';
if ($notification->diffusion_properties != '') { if ($notification->diffusion_properties != '') {
$status_tab = explode(',', $notification->diffusion_properties); $status_tab = explode(',', $notification->diffusion_properties);
// $status_str=implode("','",$status_tab); // $status_str=implode("','",$status_tab);
......
...@@ -17,7 +17,7 @@ switch ($request) { ...@@ -17,7 +17,7 @@ switch ($request) {
$select = 'SELECT distinct us.*'; $select = 'SELECT distinct us.*';
$from = ' FROM listinstance li JOIN users us ON li.item_id = us.user_id'; $from = ' FROM listinstance li JOIN users us ON li.item_id = us.user_id';
$where = " WHERE li.coll_id = 'letterbox_coll' AND li.item_mode = 'sign' " $where = " WHERE AND li.item_mode = 'sign' "
.'and process_date IS NULL '; .'and process_date IS NULL ';
$arrayPDO = array(':recordid' => $event->record_id); $arrayPDO = array(':recordid' => $event->record_id);
...@@ -25,7 +25,7 @@ switch ($request) { ...@@ -25,7 +25,7 @@ switch ($request) {
case 'notes': case 'notes':
$from .= ' JOIN notes ON notes.identifier = li.res_id'; $from .= ' JOIN notes ON notes.identifier = li.res_id';
$from .= ' JOIN res_letterbox lb ON lb.res_id = notes.identifier'; $from .= ' JOIN res_letterbox lb ON lb.res_id = notes.identifier';
$where .= ' AND notes.id = :recordid AND li.item_id != notes.user_id' $where .= ' AND notes.id = :recordid AND li.item_id != (SELECT user_id FROM users WHERE id = notes.user_id)'
.' AND (' .' AND ('
.' notes.id not in (SELECT DISTINCT note_id FROM note_entities) ' .' notes.id not in (SELECT DISTINCT note_id FROM note_entities) '
.' OR us.user_id IN (SELECT ue.user_id FROM note_entities ne JOIN ' .' OR us.user_id IN (SELECT ue.user_id FROM note_entities ne JOIN '
...@@ -83,14 +83,14 @@ switch ($request) { ...@@ -83,14 +83,14 @@ switch ($request) {
case 'res_id': case 'res_id':
$select = 'SELECT li.res_id'; $select = 'SELECT li.res_id';
$from = ' FROM listinstance li'; $from = ' FROM listinstance li';
$where = " WHERE li.coll_id = 'letterbox_coll' "; $where = " WHERE (1=1) ";
$arrayPDO = array(':recordid' => $event->record_id); $arrayPDO = array(':recordid' => $event->record_id);
switch ($event->table_name) { switch ($event->table_name) {
case 'notes': case 'notes':
$from .= ' JOIN notes ON notes.identifier = li.res_id'; $from .= ' JOIN notes ON notes.identifier = li.res_id';
$from .= ' JOIN res_letterbox lb ON lb.res_id = notes.identifier'; $from .= ' JOIN res_letterbox lb ON lb.res_id = notes.identifier';
$where .= ' AND notes.id = :recordid AND li.item_id != notes.user_id'; $where .= ' AND notes.id = :recordid AND li.item_id != (SELECT user_id FROM users WHERE id = notes.user_id)';
if ($notification->diffusion_properties != '') { if ($notification->diffusion_properties != '') {
$status_tab = explode(',', $notification->diffusion_properties); $status_tab = explode(',', $notification->diffusion_properties);
// $status_str=implode("','",$status_tab); // $status_str=implode("','",$status_tab);
......
...@@ -17,7 +17,7 @@ switch ($request) { ...@@ -17,7 +17,7 @@ switch ($request) {
$select = 'SELECT distinct us.*'; $select = 'SELECT distinct us.*';
$from = ' FROM listinstance li JOIN users us ON li.item_id = us.user_id'; $from = ' FROM listinstance li JOIN users us ON li.item_id = us.user_id';
$where = " WHERE li.coll_id = 'letterbox_coll' AND li.item_mode = 'visa' " $where = " WHERE li.item_mode = 'visa' "
.'and process_date IS NULL '; .'and process_date IS NULL ';
$arrayPDO = array(':recordid' => $event->record_id); $arrayPDO = array(':recordid' => $event->record_id);
...@@ -25,7 +25,7 @@ switch ($request) { ...@@ -25,7 +25,7 @@ switch ($request) {
case 'notes': case 'notes':
$from .= ' JOIN notes ON notes.identifier = li.res_id'; $from .= ' JOIN notes ON notes.identifier = li.res_id';
$from .= ' JOIN res_letterbox lb ON lb.res_id = notes.identifier'; $from .= ' JOIN res_letterbox lb ON lb.res_id = notes.identifier';
$where .= ' AND notes.id = :recordid AND li.item_id != notes.user_id' $where .= ' AND notes.id = :recordid AND li.item_id != (SELECT user_id FROM users WHERE id = notes.user_id)'
.' AND (' .' AND ('
.' notes.id not in (SELECT DISTINCT note_id FROM note_entities) ' .' notes.id not in (SELECT DISTINCT note_id FROM note_entities) '
.' OR us.user_id IN (SELECT ue.user_id FROM note_entities ne JOIN ' .' OR us.user_id IN (SELECT ue.user_id FROM note_entities ne JOIN '
...@@ -83,14 +83,14 @@ switch ($request) { ...@@ -83,14 +83,14 @@ switch ($request) {
case 'res_id': case 'res_id':
$select = 'SELECT li.res_id'; $select = 'SELECT li.res_id';
$from = ' FROM listinstance li'; $from = ' FROM listinstance li';
$where = " WHERE li.coll_id = 'letterbox_coll' "; $where = " WHERE (1=1) ";
$arrayPDO = array(':recordid' => $event->record_id); $arrayPDO = array(':recordid' => $event->record_id);
switch ($event->table_name) { switch ($event->table_name) {
case 'notes': case 'notes':
$from .= ' JOIN notes ON notes.identifier = li.res_id'; $from .= ' JOIN notes ON notes.identifier = li.res_id';
$from .= ' JOIN res_letterbox lb ON lb.res_id = notes.identifier'; $from .= ' JOIN res_letterbox lb ON lb.res_id = notes.identifier';
$where .= ' AND notes.id = :recordid AND li.item_id != notes.user_id'; $where .= ' AND notes.id = :recordid AND li.item_id != (SELECT user_id FROM users WHERE id = notes.user_id)';
if ($notification->diffusion_properties != '') { if ($notification->diffusion_properties != '') {
$status_tab = explode(',', $notification->diffusion_properties); $status_tab = explode(',', $notification->diffusion_properties);
// $status_str=implode("','",$status_tab); // $status_str=implode("','",$status_tab);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment