From fe24c27185efa6d702c87fc08eb1722b95eef39f Mon Sep 17 00:00:00 2001 From: Laurent Giovannoni <laurent.giovannoni@maarch.org> Date: Fri, 6 Apr 2012 12:24:59 +0000 Subject: [PATCH] evo: link --- core/trunk/core/class/LinkController.php | 283 +++++++++++++++++++++++ core/trunk/structure.sql | 167 +++++++------ 2 files changed, 376 insertions(+), 74 deletions(-) create mode 100755 core/trunk/core/class/LinkController.php diff --git a/core/trunk/core/class/LinkController.php b/core/trunk/core/class/LinkController.php new file mode 100755 index 00000000000..4f2e6ca8076 --- /dev/null +++ b/core/trunk/core/class/LinkController.php @@ -0,0 +1,283 @@ +<?php +/* +* Copyright 2008,2009,2010 Maarch +* +* This file is part of Maarch Framework. +* +* Maarch Framework is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* Maarch Framework is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with Maarch Framework. If not, see <http://www.gnu.org/licenses/>. +*/ + +/** +* @brief Contains the LinkController Class +* +* +* @file +* @author Arnaud Veber +* @date $date$ +* @version $Revision$ +* @ingroup core +*/ + +//Loads the require class +try { + //require_once('core/class/class_functions.php'); + require_once('core/class/class_db.php'); + require_once('core/class/class_history.php'); +} catch (Exception $e) { + echo $e->getMessage() . ' // '; +} + +class LinkController +{ + private $previousId = ' '; + + public function formatMap($arrayToFormat) + { + $return = ''; + + foreach ($arrayToFormat as $key => $value) { + $infos = $this->getDocInfos($key, $_SESSION['current_basket']['coll_id']); + $return .= '<div id="ged_'.$key.'" class="linkDiv">'; + $return .= '<table>'; + $return .= '<tr>'; + $return .= '<td>'; + $return .= '<a href="index.php?display=true&dir=indexing_searching&page=view_resource_controler&id=' . $key . '" target="_blank">'; + $return .= '<img src="static.php?filename=picto_dld.gif">'; + $return .= '</a>'; + $return .= '</td>'; + $return .= '<td>'; + $return .= '<a href="index.php?page=details&dir=indexing_searching&id='.$key.'">'; + $return .= '<h2><b>' . $key . '</b></h2>'; + $return .= '</a>'; + $return .= '</td>'; + $return .= '<td class="barreLinks" width="2">'; + //$return .= ' '; + $return .= '</td>'; + $return .= '<td align="center">'; + $return .= '<b>'; + /*if ($infos['category_id'] == 'incoming') { + $return .= 'Entrant'; + } else { + $return .= 'Sortant'; + }*/ + $return .= $_SESSION['mail_categories'][$infos['category_id']]; + $return .= '</b>'; + $return .= '</td>'; + $return .= '<td class="barreLinks" width="2">'; + //$return .= ' '; + $return .= '</td>'; + $return .= '<td align="center">'; + $return .= '<b>'; + $date = explode('-', substr($infos['doc_date'], 0, 10)); + $return .= $date[2].' '.$date[1].' '.$date[0]; + $return .= '</b>'; + $return .= '</td>'; + $return .= '<td class="barreLinks" width="2">'; + //$return .= ' '; + $return .= '</td>'; + $return .= '<td align="center">'; + $return .= '<a href="index.php?display=true&dir=indexing_searching&page=view_resource_controler&id=' . $key . '" target="_blank">'; + $return .= '<b>'.$infos['subject'].'</b>'; + $return .= '</a>'; + $return .= '</td>'; + $return .= '<td class="barreLinks" width="2">'; + //$return .= ' '; + $return .= '</td>'; + $return .= '<td align="center">'; + $return .= '<b>'; + $return .= $infos['entity_label'].' ('.$infos['destination'].')'; + $return .= '</b>'; + $return .= '</td>'; + $return .= '<td class="barreLinks" width="2">'; + //$return .= ' '; + $return .= '</td>'; + $return .= '<td align="center">'; + $return .= '<b>'; + $status = $this->getStatus($infos['status']); + $return .= $status; + $return .= '</b>'; + $return .= '</td>'; + $return .= '</tr>'; + $return .= '</table>'; + if (is_array($value)) { + $return .= $this->formatMap($value); + } + $return .= '</div>'; + } + + return $return; + } + + public function getMap($parentId, $collection, $sens) + { + if (!empty($parentId) && !empty($collection)) { + if ($sens == 'asc') { + $links = $this->getLinksAsc($parentId, $collection); + } else { + $links = $this->getLinksDesc($parentId, $collection); + } + $linksArray = explode('||', $links); + + for ($i=0; $i<count($linksArray); $i++) { + if ($linksArray[$i] != '' ) { + if (!preg_match("/".' ' . $linksArray[$i] . ' '."/", $this->previousId)) { + $this->previousId .= $parentId . ' '; + //echo $this->previousId . '<br />'; + $return[$linksArray[$i]] = $this->getMap($linksArray[$i], $collection, $sens); + } + } else { + $return = 'last'; + } + } + } + + return $return; + } + + private function getLinks($parentId, $collection) + { + $db = new dbquery; + $db->connect(); + $query = "SELECT res_child FROM res_linked WHERE coll_id='" . $collection . "' AND res_parent=" . $parentId; + $result = $db->query($query); + if ($result) { + $i = 0; + $links = ''; + while ($row = pg_fetch_assoc($result)) { + $links .= $row['res_child'].'||'; + $i++; + } + if ($i > 0) { + $return = substr($links, 0, -2); + } + } else { + $return = 'Problème lors de la requête : '.$query; + } + + return $return; + } + + private function getLinksDesc($parentId, $collection) + { + $db = new dbquery; + $db->connect(); + $query = "SELECT res_child FROM res_linked WHERE coll_id='" . $collection . "' AND res_parent=" . $parentId; + $result = $db->query($query); + if ($result) { + $i = 0; + $links = ''; + while ($row = pg_fetch_assoc($result)) { + $links .= $row['res_child'].'||'; + $i++; + } + if ($i > 0) { + $return = substr($links, 0, -2); + } + } else { + $return = 'Problème lors de la requête : '.$query; + } + + return $return; + } + + private function getLinksAsc($parentId, $collection) + { + $db = new dbquery; + $db->connect(); + $query = "SELECT res_parent FROM res_linked WHERE coll_id='" . $collection . "' AND res_child=" . $parentId; + $result = $db->query($query); + if ($result) { + $i = 0; + $links = ''; + while ($row = pg_fetch_assoc($result)) { + $links .= $row['res_parent'].'||'; + $i++; + } + if ($i > 0) { + $return = substr($links, 0, -2); + } + } else { + $return = 'Problème lors de la requête : '.$query; + } + + return $return; + } + + private function getDocInfos($id, $collection) + { + if ($collection = 'letterbox_coll') { + $vue = 'res_view_letterbox'; + } else { + $vue = ''; + } + $db = new dbquery; + $db->connect(); + $query = "SELECT * FROM ".$vue." WHERE res_id = ".$id; + $result = $db->query($query); + if ($result) { + $i = 0; + while ($row = pg_fetch_assoc($result)) { + $return = $row; + $i++; + } + } + + return $return; + } + + public function getStatus($status) + { + $db = new dbquery; + $db->connect(); + $query = "SELECT label_status FROM status WHERE id = '" . $status . "'"; + $result = $db->query($query); + if ($result) { + $i = 0; + while ($row = pg_fetch_assoc($result)) { + $return = $row['label_status']; + $i++; + } + } + + return $return; + } + + public function nbDirectLink($id, $collection, $sens) + { + $i = 0; + $db = new dbquery; + $db->connect(); + if ($sens == 'desc' || $sens == 'all') { + $query = "SELECT res_child FROM res_linked WHERE coll_id='" . $collection . "' AND res_parent=" . $id; + $result = $db->query($query); + if ($result) { + while ($row = pg_fetch_assoc($result)) { + $i++; + } + } + } + + if ($sens == 'asc' || $sens == 'all') { + $query = "SELECT res_parent FROM res_linked WHERE coll_id='" . $collection . "' AND res_child=" . $id; + $result = $db->query($query); + if ($result) { + while ($row = pg_fetch_assoc($result)) { + $i++; + } + } + } + + return $i; + } +} diff --git a/core/trunk/structure.sql b/core/trunk/structure.sql index 0ff8149b92d..3e0bb93c6dc 100644 --- a/core/trunk/structure.sql +++ b/core/trunk/structure.sql @@ -1100,55 +1100,55 @@ WITH ( CREATE TABLE lc_policies ( - policy_id character varying(32) NOT NULL, + policy_id character varying(32) NOT NULL, policy_name character varying(255) NOT NULL, policy_desc character varying(255) NOT NULL, CONSTRAINT lc_policies_pkey PRIMARY KEY (policy_id) -) +) WITH (OIDS = FALSE); CREATE TABLE lc_cycles ( policy_id character varying(32) NOT NULL, - cycle_id character varying(32) NOT NULL, + cycle_id character varying(32) NOT NULL, cycle_desc character varying(255) NOT NULL, sequence_number integer NOT NULL, - where_clause text, + where_clause text, break_key character varying(255) DEFAULT NULL, - validation_mode character varying(32) NOT NULL, + validation_mode character varying(32) NOT NULL, CONSTRAINT lc_cycle_pkey PRIMARY KEY (policy_id, cycle_id) -) +) WITH (OIDS = FALSE); CREATE TABLE lc_cycle_steps ( policy_id character varying(32) NOT NULL, - cycle_id character varying(32) NOT NULL, - cycle_step_id character varying(32) NOT NULL, + cycle_id character varying(32) NOT NULL, + cycle_step_id character varying(32) NOT NULL, cycle_step_desc character varying(255) NOT NULL, docserver_type_id character varying(32) NOT NULL, is_allow_failure character(1) NOT NULL DEFAULT 'N'::bpchar, step_operation character varying(32) NOT NULL, sequence_number integer NOT NULL, is_must_complete character(1) NOT NULL DEFAULT 'N'::bpchar, - preprocess_script character varying(255) DEFAULT NULL, + preprocess_script character varying(255) DEFAULT NULL, postprocess_script character varying(255) DEFAULT NULL, CONSTRAINT lc_cycle_steps_pkey PRIMARY KEY (policy_id, cycle_id, cycle_step_id, docserver_type_id) -) +) WITH (OIDS = FALSE); CREATE TABLE lc_stack ( policy_id character varying(32) NOT NULL, - cycle_id character varying(32) NOT NULL, - cycle_step_id character varying(32) NOT NULL, + cycle_id character varying(32) NOT NULL, + cycle_step_id character varying(32) NOT NULL, coll_id character varying(32) NOT NULL, - res_id bigint NOT NULL, - cnt_retry integer DEFAULT NULL, + res_id bigint NOT NULL, + cnt_retry integer DEFAULT NULL, status character(1) NOT NULL, CONSTRAINT lc_stack_pkey PRIMARY KEY (policy_id, cycle_id, cycle_step_id, res_id) -) +) WITH (OIDS = FALSE); @@ -1792,6 +1792,25 @@ CREATE TABLE res_letterbox ) WITH (OIDS=FALSE); +CREATE SEQUENCE res_linked_mlb_seq + INCREMENT 1 + MINVALUE 1 + MAXVALUE 9223372036854775807 + START 171 + CACHE 1; + +CREATE TABLE res_linked +( + id bigint NOT NULL DEFAULT nextval('res_linked_mlb_seq'::regclass), + res_parent bigint NOT NULL, + res_child bigint NOT NULL, + coll_id character varying(50) NOT NULL, + CONSTRAINT res_linked_primary PRIMARY KEY (id) +) +WITH ( + OIDS=FALSE +); + CREATE TABLE mlb_coll_ext ( res_id bigint NOT NULL, category_id character varying(50) NOT NULL, @@ -1861,82 +1880,82 @@ CREATE OR REPLACE VIEW res_view AS -- WHERE r.type_id = d.type_id AND d.doctypes_first_level_id = dfl.doctypes_first_level_id AND d.doctypes_second_level_id = dsl.doctypes_second_level_id; CREATE VIEW res_view_letterbox AS - SELECT r.tablename, r.is_multi_docservers, r.res_id, r.type_id, - d.description AS type_label, d.doctypes_first_level_id, + SELECT r.tablename, r.is_multi_docservers, r.res_id, r.type_id, + d.description AS type_label, d.doctypes_first_level_id, dfl.doctypes_first_level_label, dfl.css_style as doctype_first_level_style, - d.doctypes_second_level_id, dsl.doctypes_second_level_label, - dsl.css_style as doctype_second_level_style, r.format, r.typist, - r.creation_date, r.relation, r.docserver_id, r.folders_system_id, - f.folder_id, f.is_frozen as folder_is_frozen, r.path, r.filename, r.fingerprint, r.offset_doc, r.filesize, - r.status, r.work_batch, r.arbatch_id, r.arbox_id, r.page_count, r.is_paper, + d.doctypes_second_level_id, dsl.doctypes_second_level_label, + dsl.css_style as doctype_second_level_style, r.format, r.typist, + r.creation_date, r.relation, r.docserver_id, r.folders_system_id, + f.folder_id, f.is_frozen as folder_is_frozen, r.path, r.filename, r.fingerprint, r.offset_doc, r.filesize, + r.status, r.work_batch, r.arbatch_id, r.arbox_id, r.page_count, r.is_paper, r.doc_date, r.scan_date, r.scan_user, r.scan_location, r.scan_wkstation, - r.scan_batch, r.doc_language, r.description, r.source, r.author, - r.custom_t1 AS doc_custom_t1, r.custom_t2 AS doc_custom_t2, - r.custom_t3 AS doc_custom_t3, r.custom_t4 AS doc_custom_t4, + r.scan_batch, r.doc_language, r.description, r.source, r.author, + r.custom_t1 AS doc_custom_t1, r.custom_t2 AS doc_custom_t2, + r.custom_t3 AS doc_custom_t3, r.custom_t4 AS doc_custom_t4, r.custom_t5 AS doc_custom_t5, r.custom_t6 AS doc_custom_t6, - r.custom_t7 AS doc_custom_t7, r.custom_t8 AS doc_custom_t8, - r.custom_t9 AS doc_custom_t9, r.custom_t10 AS doc_custom_t10, - r.custom_t11 AS doc_custom_t11, r.custom_t12 AS doc_custom_t12, - r.custom_t13 AS doc_custom_t13, r.custom_t14 AS doc_custom_t14, + r.custom_t7 AS doc_custom_t7, r.custom_t8 AS doc_custom_t8, + r.custom_t9 AS doc_custom_t9, r.custom_t10 AS doc_custom_t10, + r.custom_t11 AS doc_custom_t11, r.custom_t12 AS doc_custom_t12, + r.custom_t13 AS doc_custom_t13, r.custom_t14 AS doc_custom_t14, r.custom_t15 AS doc_custom_t15, r.custom_d1 AS doc_custom_d1, r.custom_d2 AS doc_custom_d2, r.custom_d3 AS doc_custom_d3, - r.custom_d4 AS doc_custom_d4, r.custom_d5 AS doc_custom_d5, - r.custom_d6 AS doc_custom_d6, r.custom_d7 AS doc_custom_d7, - r.custom_d8 AS doc_custom_d8, r.custom_d9 AS doc_custom_d9, + r.custom_d4 AS doc_custom_d4, r.custom_d5 AS doc_custom_d5, + r.custom_d6 AS doc_custom_d6, r.custom_d7 AS doc_custom_d7, + r.custom_d8 AS doc_custom_d8, r.custom_d9 AS doc_custom_d9, r.custom_d10 AS doc_custom_d10, r.custom_n1 AS doc_custom_n1, - r.custom_n2 AS doc_custom_n2, r.custom_n3 AS doc_custom_n3, - r.custom_n4 AS doc_custom_n4, r.custom_n5 AS doc_custom_n5, - r.custom_f1 AS doc_custom_f1, r.custom_f2 AS doc_custom_f2, - r.custom_f3 AS doc_custom_f3, r.custom_f4 AS doc_custom_f4, - r.custom_f5 AS doc_custom_f5, f.foldertype_id, ft.foldertype_label, - f.custom_t1 AS fold_custom_t1, f.custom_t2 AS fold_custom_t2, + r.custom_n2 AS doc_custom_n2, r.custom_n3 AS doc_custom_n3, + r.custom_n4 AS doc_custom_n4, r.custom_n5 AS doc_custom_n5, + r.custom_f1 AS doc_custom_f1, r.custom_f2 AS doc_custom_f2, + r.custom_f3 AS doc_custom_f3, r.custom_f4 AS doc_custom_f4, + r.custom_f5 AS doc_custom_f5, f.foldertype_id, ft.foldertype_label, + f.custom_t1 AS fold_custom_t1, f.custom_t2 AS fold_custom_t2, f.custom_t3 AS fold_custom_t3, f.custom_t4 AS fold_custom_t4, - f.custom_t5 AS fold_custom_t5, f.custom_t6 AS fold_custom_t6, - f.custom_t7 AS fold_custom_t7, f.custom_t8 AS fold_custom_t8, - f.custom_t9 AS fold_custom_t9, f.custom_t10 AS fold_custom_t10, + f.custom_t5 AS fold_custom_t5, f.custom_t6 AS fold_custom_t6, + f.custom_t7 AS fold_custom_t7, f.custom_t8 AS fold_custom_t8, + f.custom_t9 AS fold_custom_t9, f.custom_t10 AS fold_custom_t10, f.custom_t11 AS fold_custom_t11, f.custom_t12 AS fold_custom_t12, - f.custom_t13 AS fold_custom_t13, f.custom_t14 AS fold_custom_t14, - f.custom_t15 AS fold_custom_t15, f.custom_d1 AS fold_custom_d1, - f.custom_d2 AS fold_custom_d2, f.custom_d3 AS fold_custom_d3, - f.custom_d4 AS fold_custom_d4, f.custom_d5 AS fold_custom_d5, - f.custom_d6 AS fold_custom_d6, f.custom_d7 AS fold_custom_d7, - f.custom_d8 AS fold_custom_d8, f.custom_d9 AS fold_custom_d9, - f.custom_d10 AS fold_custom_d10, f.custom_n1 AS fold_custom_n1, + f.custom_t13 AS fold_custom_t13, f.custom_t14 AS fold_custom_t14, + f.custom_t15 AS fold_custom_t15, f.custom_d1 AS fold_custom_d1, + f.custom_d2 AS fold_custom_d2, f.custom_d3 AS fold_custom_d3, + f.custom_d4 AS fold_custom_d4, f.custom_d5 AS fold_custom_d5, + f.custom_d6 AS fold_custom_d6, f.custom_d7 AS fold_custom_d7, + f.custom_d8 AS fold_custom_d8, f.custom_d9 AS fold_custom_d9, + f.custom_d10 AS fold_custom_d10, f.custom_n1 AS fold_custom_n1, f.custom_n2 AS fold_custom_n2, f.custom_n3 AS fold_custom_n3, f.custom_n4 AS fold_custom_n4, f.custom_n5 AS fold_custom_n5, - f.custom_f1 AS fold_custom_f1, f.custom_f2 AS fold_custom_f2, - f.custom_f3 AS fold_custom_f3, f.custom_f4 AS fold_custom_f4, - f.custom_f5 AS fold_custom_f5, f.is_complete AS fold_complete, + f.custom_f1 AS fold_custom_f1, f.custom_f2 AS fold_custom_f2, + f.custom_f3 AS fold_custom_f3, f.custom_f4 AS fold_custom_f4, + f.custom_f5 AS fold_custom_f5, f.is_complete AS fold_complete, f.status AS fold_status, f.subject AS fold_subject, - f.parent_id AS fold_parent_id, f.folder_level, f.folder_name, - f.creation_date AS fold_creation_date, r.initiator, r.destination, - r.dest_user, mlb.category_id, mlb.exp_contact_id, mlb.exp_user_id, - mlb.dest_user_id, mlb.dest_contact_id, mlb.nature_id, mlb.alt_identifier, + f.parent_id AS fold_parent_id, f.folder_level, f.folder_name, + f.creation_date AS fold_creation_date, r.initiator, r.destination, + r.dest_user, mlb.category_id, mlb.exp_contact_id, mlb.exp_user_id, + mlb.dest_user_id, mlb.dest_contact_id, mlb.nature_id, mlb.alt_identifier, mlb.admission_date, mlb.answer_type_bitmask, mlb.other_answer_desc, - mlb.process_limit_date, mlb.closing_date, mlb.alarm1_date, mlb.alarm2_date, + mlb.process_limit_date, mlb.closing_date, mlb.alarm1_date, mlb.alarm2_date, mlb.flag_notif, mlb.flag_alarm1, mlb.flag_alarm2, r.video_user, r.video_time, r.video_batch, r.subject, r.identifier, r.title, r.priority, mlb.process_notes, - ca.case_id, ca.case_label, ca.case_description, en.entity_label, - cont.firstname AS contact_firstname, cont.lastname AS contact_lastname, + ca.case_id, ca.case_label, ca.case_description, en.entity_label, + cont.firstname AS contact_firstname, cont.lastname AS contact_lastname, cont.society AS contact_society, u.lastname AS user_lastname, u.firstname AS user_firstname, list.item_id AS dest_user_from_listinstance, - r.is_frozen as res_is_frozen + r.is_frozen as res_is_frozen FROM doctypes d, doctypes_first_level dfl, doctypes_second_level dsl, - ((((((((((ar_batch a RIGHT JOIN res_letterbox r ON ((r.arbatch_id = a.arbatch_id))) - LEFT JOIN entities en ON (((r.destination)::text = (en.entity_id)::text))) - LEFT JOIN folders f ON ((r.folders_system_id = f.folders_system_id))) + ((((((((((ar_batch a RIGHT JOIN res_letterbox r ON ((r.arbatch_id = a.arbatch_id))) + LEFT JOIN entities en ON (((r.destination)::text = (en.entity_id)::text))) + LEFT JOIN folders f ON ((r.folders_system_id = f.folders_system_id))) LEFT JOIN cases_res cr ON ((r.res_id = cr.res_id))) - LEFT JOIN mlb_coll_ext mlb ON ((mlb.res_id = r.res_id))) + LEFT JOIN mlb_coll_ext mlb ON ((mlb.res_id = r.res_id))) LEFT JOIN foldertypes ft ON (((f.foldertype_id = ft.foldertype_id) AND ((f.status)::text <> 'DEL'::text)))) - LEFT JOIN cases ca ON ((cr.case_id = ca.case_id))) - LEFT JOIN contacts cont ON (((mlb.exp_contact_id = cont.contact_id) - OR (mlb.dest_contact_id = cont.contact_id)))) - LEFT JOIN users u ON ((((mlb.exp_user_id)::text = (u.user_id)::text) - OR ((mlb.dest_user_id)::text = (u.user_id)::text)))) + LEFT JOIN cases ca ON ((cr.case_id = ca.case_id))) + LEFT JOIN contacts cont ON (((mlb.exp_contact_id = cont.contact_id) + OR (mlb.dest_contact_id = cont.contact_id)))) + LEFT JOIN users u ON ((((mlb.exp_user_id)::text = (u.user_id)::text) + OR ((mlb.dest_user_id)::text = (u.user_id)::text)))) LEFT JOIN listinstance list ON (((r.res_id = list.res_id) AND ((list.item_mode)::text = 'dest'::text)))) - WHERE (((r.type_id = d.type_id) AND + WHERE (((r.type_id = d.type_id) AND (d.doctypes_first_level_id = dfl.doctypes_first_level_id)) AND (d.doctypes_second_level_id = dsl.doctypes_second_level_id)); CREATE OR REPLACE VIEW res_view_apa AS @@ -1985,15 +2004,15 @@ CREATE OR REPLACE VIEW af_view_customer_target_view AS FROM af_view_customer_target af ; -- Views for postindexing - CREATE OR REPLACE VIEW view_folders AS + CREATE OR REPLACE VIEW view_folders AS SELECT folders.folders_system_id, folders.folder_id, folders.foldertype_id, foldertypes.foldertype_label, (folders.folder_id::text || ' - '::text) || folders.folder_name::text AS folder_full_label, folders.parent_id, folders.folder_name, folders.subject, folders.description, folders.author, folders.typist, folders.status, folders.folder_level, folders.creation_date, folders.folder_out_id, folders.custom_t1, folders.custom_n1, folders.custom_f1, folders.custom_d1, folders.custom_t2, folders.custom_n2, folders.custom_f2, folders.custom_d2, folders.custom_t3, folders.custom_n3, folders.custom_f3, folders.custom_d3, folders.custom_t4, folders.custom_n4, folders.custom_f4, folders.custom_d4, folders.custom_t5, folders.custom_n5, folders.custom_f5, folders.custom_d5, folders.custom_t6, folders.custom_d6, folders.custom_t7, folders.custom_d7, folders.custom_t8, folders.custom_d8, folders.custom_t9, folders.custom_d9, folders.custom_t10, folders.custom_d10, folders.custom_t11, folders.custom_d11, folders.custom_t12, folders.custom_d12, folders.custom_t13, folders.custom_d13, folders.custom_t14, folders.custom_d14, folders.custom_t15, folders.is_complete, folders.is_folder_out, folders.last_modified_date, count(res_view_letterbox.folders_system_id) AS count_document, folders.video_status FROM foldertypes, folders LEFT JOIN res_view_letterbox ON res_view_letterbox.folders_system_id = folders.folders_system_id WHERE folders.foldertype_id = foldertypes.foldertype_id GROUP BY folders.folders_system_id, folders.folder_id, folders.foldertype_id, foldertypes.foldertype_label, folder_full_label, folders.parent_id, folders.folder_name, folders.subject, folders.description, folders.author, folders.typist, folders.status, folders.folder_level, folders.creation_date, folders.folder_out_id, folders.custom_t1, folders.custom_n1, folders.custom_f1, folders.custom_d1, folders.custom_t2, folders.custom_n2, folders.custom_f2, folders.custom_d2, folders.custom_t3, folders.custom_n3, folders.custom_f3, folders.custom_d3, folders.custom_t4, folders.custom_n4, folders.custom_f4, folders.custom_d4, folders.custom_t5, folders.custom_n5, folders.custom_f5, folders.custom_d5, folders.custom_t6, folders.custom_d6, folders.custom_t7, folders.custom_d7, folders.custom_t8, folders.custom_d8, folders.custom_t9, folders.custom_d9, folders.custom_t10, folders.custom_d10, folders.custom_t11, folders.custom_d11, folders.custom_t12, folders.custom_d12, folders.custom_t13, folders.custom_d13, folders.custom_t14, folders.custom_d14, folders.custom_t15, folders.is_complete, folders.is_folder_out, folders.last_modified_date, folders.video_status; - - CREATE OR REPLACE VIEW view_postindexing AS + + CREATE OR REPLACE VIEW view_postindexing AS SELECT res_view_letterbox.video_user, (users.firstname::text || ' '::text) || users.lastname::text AS user_name, res_view_letterbox.video_batch, res_view_letterbox.video_time, count(res_view_letterbox.res_id) AS count_documents, res_view_letterbox.folders_system_id, (folders.folder_id::text || ' / '::text) || folders.folder_name::text AS folder_full_label, folders.video_status FROM res_view_letterbox LEFT JOIN users ON res_view_letterbox.video_user::text = users.user_id::text @@ -2001,7 +2020,7 @@ CREATE OR REPLACE VIEW af_view_customer_target_view AS WHERE res_view_letterbox.video_batch IS NOT NULL GROUP BY res_view_letterbox.video_user, (users.firstname::text || ' '::text) || users.lastname::text, res_view_letterbox.video_batch, res_view_letterbox.video_time, res_view_letterbox.folders_system_id, (folders.folder_id::text || ' / '::text) || folders.folder_name::text, folders.video_status; - + CREATE TABLE groupbasket_status ( system_id serial NOT NULL, @@ -2015,4 +2034,4 @@ WITH ( OIDS=FALSE ); ALTER TABLE groupbasket_status OWNER TO postgres; - + -- GitLab