From ddf322d260759f3f64bfe6a9b52b107eb629e2fd Mon Sep 17 00:00:00 2001 From: sparkyx Date: Thu, 1 Aug 2024 19:58:24 +0200 Subject: [PATCH 01/26] Bug : fix create event from AGENDA --- html/css/style-classic7.css | 4 ++ include/ajax/ajax_gestion.php | 5 ++- include/class/follow_up.class.php | 12 +++-- .../action_gestion_comment_sql.class.php | 2 + include/template/action_display_short.php | 7 +-- unit-test/include/class/followupTest.php | 45 +++++++++++++++++++ 6 files changed, 66 insertions(+), 9 deletions(-) diff --git a/html/css/style-classic7.css b/html/css/style-classic7.css index a44e54887..0f353f255 100644 --- a/html/css/style-classic7.css +++ b/html/css/style-classic7.css @@ -3338,6 +3338,10 @@ li.li-active { * style in TEXTAREA wysiwyg must be encapsuled in div with the class nicEdit-main * */ + div.nicEdit-main { + + font-family: 'OpenSansRegular'; + } div.nicEdit-main blockquote { margin-left:2rem !important; } diff --git a/include/ajax/ajax_gestion.php b/include/ajax/ajax_gestion.php index b8e2471ae..08f38c184 100644 --- a/include/ajax/ajax_gestion.php +++ b/include/ajax/ajax_gestion.php @@ -58,7 +58,7 @@ if ($op=='action_save') $event_group=$http->get("event_group", "string",0); $event_priority=$http->get("event_priority", "string",0); $title=$http->get("title_event","string", NULL); - $summary=$http->get("summary","string", ""); + $summary= $http->get("summary","raw", ""); $type_event=$http->get('type_event', "string",-1); $hour_event=$http->get('hour_event', "string",null); if ($date_event==-1||isDate($date_event)==0) @@ -103,7 +103,8 @@ if ($op=='action_save') $gestion->f_id_dest=$dest_id; $gestion->ag_state=3; $gestion->dt_id=$type_event; - $gestion->ag_comment=h($summary); + $gestion->ag_comment=strip_tags($summary); + $gestion->ag_comment=$summary; $gestion->ag_timestamp=$date_event; $gestion->ag_remind_date=$date_event; $gestion->ag_hour=$hour_event; diff --git a/include/class/follow_up.class.php b/include/class/follow_up.class.php index 2a005136b..8b81e9660 100644 --- a/include/class/follow_up.class.php +++ b/include/class/follow_up.class.php @@ -1930,7 +1930,7 @@ where include NOALYSS_TEMPLATE.'/action_display_short.php'; } /** - * Add an event , with the minimum of informations, + * @brief Add an event , with the minimum of informations, * used in Dashboard and Scheduler */ function save_short() @@ -1990,8 +1990,12 @@ where if (trim($this->ag_comment??"")!='') { - $this->db->exec_sql("insert into action_gestion_comment (ag_id,tech_user,agc_comment) values ($1,$2,$3)" - , array($this->ag_id, $_SESSION[SESSION_KEY.'g_user'], $this->ag_comment)); + $action_comment=new Action_Gestion_Comment_SQL($this->db); + $action_comment->ag_id=$this->ag_id; + $action_comment->tech_user= $_SESSION[SESSION_KEY.'g_user']; + $action_comment->agc_comment=$this->ag_comment; + $action_comment->agc_comment_raw=$this->ag_comment; + $action_comment->insert(); } } /** @@ -2022,7 +2026,7 @@ where return -1; } /** - * Compute an array of the complete tree depending of $p_id + * @brief Compute an array of the complete tree depending of $p_id * @param $p_id ag_id * @return array * key index : diff --git a/include/database/action_gestion_comment_sql.class.php b/include/database/action_gestion_comment_sql.class.php index 894e8ff5e..6d7772436 100644 --- a/include/database/action_gestion_comment_sql.class.php +++ b/include/database/action_gestion_comment_sql.class.php @@ -45,6 +45,7 @@ class Action_Gestion_Comment_SQL extends Table_Data_SQL , "ag_id"=>"ag_id" , "agc_date"=>"agc_date" , "agc_comment"=>"agc_comment" + , "agc_comment_raw"=>"agc_comment_raw" , "tech_user"=>"tech_user" ); /* @@ -55,6 +56,7 @@ class Action_Gestion_Comment_SQL extends Table_Data_SQL , "ag_id"=>"numeric" , "agc_date"=>"timestamp with time zone" , "agc_comment"=>"text" + , "agc_comment_raw"=>"text" , "tech_user"=>"text" ); diff --git a/include/template/action_display_short.php b/include/template/action_display_short.php index 08b60c048..7ecc267ed 100644 --- a/include/template/action_display_short.php +++ b/include/template/action_display_short.php @@ -34,7 +34,8 @@ $title->size="60"; $title->css_isze="60%"; // Description $summary=new ITextarea('summary'); -$summary->style='class="itextarea" style="padding:0px;margin:0px"'; +$summary->set_enrichText('enrich'); +$summary->style='class="itextarea" style="background-color:white;padding:0px;margin:0px"'; // Type of document / event $type=new ISelect("type_event"); @@ -113,9 +114,9 @@ echo HtmlInput::title_box(_('Nouvel événement'), 'action_add_div',"close","","

-

+

input()?> -

+
'22.04.2022' + ,"dest"=>'' + ,'event_group'=>1 + ,'event_priority'=>2 + ,'title_event'=>$title + ,'summary'=>'

Test

' + ,"type_event"=>2 + ,'hour_event'=>'07:30' + ,'op'=>'action_save' + ,'gDossier'=>DOSSIER + ); + $_GET=$array; + $_REQUEST=$array; + ob_start(); + require NOALYSS_HOME.'/ajax_misc.php'; + $content=ob_get_clean(); + + $this->assertStringContainsString('OK',$content); + + + global $cn; + $id = $cn->get_value("select ag_id from action_gestion where ag_title=$1",[$title]); + + $this->assertTrue(!empty($id),'event not save in action_gestion'); + + $comment_nb=$cn->get_value("select count(*) from action_gestion_comment where ag_id=$1",[$id]); + $this->assertTrue($comment_nb != 0 ,' event has no description'); + + $comment_id=$cn->get_value("select agc_id from action_gestion_comment where ag_id=$1",[$id]); + + $a_row=new Action_Gestion_Comment_SQL($cn,$comment_id); + $this->assertTrue( ! empty($a_row->agc_comment) , 'comment not saved'); + $this->assertTrue( ! empty($a_row->agc_comment_raw) , 'comment raw not saved'); + + $cn->exec_sql("delete from action_gestion where ag_title like 'phpunit%'"); } } \ No newline at end of file From 3577939251f52c11b2109056f5ca9a0217178eb7 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Sun, 1 Sep 2024 21:45:43 +0200 Subject: [PATCH 02/26] Cosmetic: without z-index, the class col is behind the autocomplete div in COMPANY --- include/template/module.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/template/module.php b/include/template/module.php index 3567d452e..ef825db22 100644 --- a/include/template/module.php +++ b/include/template/module.php @@ -71,7 +71,7 @@ if ( $cn->get_value("select count(*) from profile join profile_user using (p_id) echo $direct->input(); $gDossier=dossier::id(); ?> -
+
From 6e1c536564e31815a2f42e9e2a223e35f572e3f1 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Sun, 1 Sep 2024 22:01:00 +0200 Subject: [PATCH 03/26] CFGMENU : bug cannot update menu --- include/class/menu_ref.class.php | 4 +++- include/menu.inc.php | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/include/class/menu_ref.class.php b/include/class/menu_ref.class.php index aab3b5f0c..f86c0c0a0 100644 --- a/include/class/menu_ref.class.php +++ b/include/class/menu_ref.class.php @@ -45,8 +45,10 @@ class Menu_Ref extends Menu_Ref_SQL { throw new Exception(_("le code ne peut être vide")); } + $this->format_code(); - if ( $this->cn->get_value("select count(*) from menu_ref where me_code=$1",array($this->me_code)) > 0) + if (isset ($_POST['create_menu']) + && $this->cn->get_value("select count(*) from menu_ref where me_code=$1",array($this->me_code)) > 0) throw new Exception ('Doublon'); if (trim($this->me_code)=='') throw new Exception ('Ce menu existe déjà'); diff --git a/include/menu.inc.php b/include/menu.inc.php index 47b626611..0dbdd3c06 100644 --- a/include/menu.inc.php +++ b/include/menu.inc.php @@ -86,6 +86,7 @@ if ( isset($_POST['create_menu'])|| isset($_POST['modify_menu'])) { if (isset($_POST['create_menu'])) { + if ($menu_ref->verify() == 0) $menu_ref->insert(); } elseif (isset($_POST['modify_menu'])) From cd8ffc6b5222304f9d180205a8fb5090388d0690 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Sun, 1 Sep 2024 22:32:52 +0200 Subject: [PATCH 04/26] C0OPT1 , C1MENU : improve doc --- include/class/contact_option_ref_mtable.class.php | 11 ++++++++++- include/contact_option_ref.inc.php | 2 +- include/lib/message_javascript.php | 1 + sql/upgrade.sql | 4 ++++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/include/class/contact_option_ref_mtable.class.php b/include/class/contact_option_ref_mtable.class.php index 07cc21408..0f0a15668 100644 --- a/include/class/contact_option_ref_mtable.class.php +++ b/include/class/contact_option_ref_mtable.class.php @@ -48,6 +48,15 @@ class Contact_Option_Ref_MTable extends Manage_Table_SQL{ ["label"=>_("Date"),"value"=>2], ["label"=>_("Coche"),"value"=>4] ]); + $this->set_col_tips("cor_value_select", 87); } - + function input() + { + echo '

'. + ''. + _("Aide : voir C0OPT1"). + ''. + '

'; + return parent::input(); // TODO: Change the autogenerated stub + } } diff --git a/include/contact_option_ref.inc.php b/include/contact_option_ref.inc.php index 5975ae8e1..8c90a49ca 100644 --- a/include/contact_option_ref.inc.php +++ b/include/contact_option_ref.inc.php @@ -40,7 +40,7 @@ catch (Exception $ex) } $cn=Dossier::connect(); echo '

'. - ''. + ''. _("Aide : voir C0ACT"). ''. '

'; diff --git a/include/lib/message_javascript.php b/include/lib/message_javascript.php index 1b303d7a2..75b38033c 100644 --- a/include/lib/message_javascript.php +++ b/include/lib/message_javascript.php @@ -120,4 +120,5 @@ content[83]="" content[84]=""; content[85]=""; content[86]=""; +content[87]=""; diff --git a/sql/upgrade.sql b/sql/upgrade.sql index e69de29bb..0a1bfa1c3 100644 --- a/sql/upgrade.sql +++ b/sql/upgrade.sql @@ -0,0 +1,4 @@ +begin; + +select replace_menu_code('CCARDAT','C0CARD'); + From ab67c4bcb507fea38e4d00e76411d04346b3ee75 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Sun, 1 Sep 2024 22:01:00 +0200 Subject: [PATCH 05/26] CFGMENU : bug cannot update menu --- include/class/menu_ref.class.php | 4 +++- include/menu.inc.php | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/include/class/menu_ref.class.php b/include/class/menu_ref.class.php index aab3b5f0c..f86c0c0a0 100644 --- a/include/class/menu_ref.class.php +++ b/include/class/menu_ref.class.php @@ -45,8 +45,10 @@ class Menu_Ref extends Menu_Ref_SQL { throw new Exception(_("le code ne peut être vide")); } + $this->format_code(); - if ( $this->cn->get_value("select count(*) from menu_ref where me_code=$1",array($this->me_code)) > 0) + if (isset ($_POST['create_menu']) + && $this->cn->get_value("select count(*) from menu_ref where me_code=$1",array($this->me_code)) > 0) throw new Exception ('Doublon'); if (trim($this->me_code)=='') throw new Exception ('Ce menu existe déjà'); diff --git a/include/menu.inc.php b/include/menu.inc.php index 47b626611..0dbdd3c06 100644 --- a/include/menu.inc.php +++ b/include/menu.inc.php @@ -86,6 +86,7 @@ if ( isset($_POST['create_menu'])|| isset($_POST['modify_menu'])) { if (isset($_POST['create_menu'])) { + if ($menu_ref->verify() == 0) $menu_ref->insert(); } elseif (isset($_POST['modify_menu'])) From 5c8a188d5100f45064f6843edd323ecbe7796f70 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Sun, 1 Sep 2024 22:32:52 +0200 Subject: [PATCH 06/26] C0OPT1 , C1MENU : improve doc --- include/class/contact_option_ref_mtable.class.php | 11 ++++++++++- include/contact_option_ref.inc.php | 2 +- include/lib/message_javascript.php | 1 + sql/upgrade.sql | 4 ++++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/include/class/contact_option_ref_mtable.class.php b/include/class/contact_option_ref_mtable.class.php index 07cc21408..0f0a15668 100644 --- a/include/class/contact_option_ref_mtable.class.php +++ b/include/class/contact_option_ref_mtable.class.php @@ -48,6 +48,15 @@ class Contact_Option_Ref_MTable extends Manage_Table_SQL{ ["label"=>_("Date"),"value"=>2], ["label"=>_("Coche"),"value"=>4] ]); + $this->set_col_tips("cor_value_select", 87); } - + function input() + { + echo '

'. + ''. + _("Aide : voir C0OPT1"). + ''. + '

'; + return parent::input(); // TODO: Change the autogenerated stub + } } diff --git a/include/contact_option_ref.inc.php b/include/contact_option_ref.inc.php index 5975ae8e1..8c90a49ca 100644 --- a/include/contact_option_ref.inc.php +++ b/include/contact_option_ref.inc.php @@ -40,7 +40,7 @@ catch (Exception $ex) } $cn=Dossier::connect(); echo '

'. - ''. + ''. _("Aide : voir C0ACT"). ''. '

'; diff --git a/include/lib/message_javascript.php b/include/lib/message_javascript.php index 1b303d7a2..75b38033c 100644 --- a/include/lib/message_javascript.php +++ b/include/lib/message_javascript.php @@ -120,4 +120,5 @@ content[83]="" content[84]=""; content[85]=""; content[86]=""; +content[87]=""; diff --git a/sql/upgrade.sql b/sql/upgrade.sql index e69de29bb..0a1bfa1c3 100644 --- a/sql/upgrade.sql +++ b/sql/upgrade.sql @@ -0,0 +1,4 @@ +begin; + +select replace_menu_code('CCARDAT','C0CARD'); + From 556c1475b2edf26c6d877704809adc8e22821a03 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Mon, 2 Sep 2024 20:05:36 +0200 Subject: [PATCH 07/26] PHP8.2 compatility : strip_tags null --- include/ajax/ajax_card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/ajax/ajax_card.php b/include/ajax/ajax_card.php index 2bba86e82..7e0dcf1f7 100644 --- a/include/ajax/ajax_card.php +++ b/include/ajax/ajax_card.php @@ -514,7 +514,7 @@ case 'fs': $array[$i]['javascript']=sprintf("set_value('%s','%s');", $inp,$array[$i]['quick_code']); $array[$i]['javascript'].=sprintf("set_value('%s','%s');", - $label,j(strip_tags($aFound[$i]['vw_name']))); + $label,j(noalyss_strip_tags($aFound[$i]['vw_name']))); /* if it is a ledger of sales we use vw_buy From 7553786f46b26abad5397407d20c81628d70c27b Mon Sep 17 00:00:00 2001 From: sparkyx Date: Mon, 2 Sep 2024 20:11:58 +0200 Subject: [PATCH 08/26] =?UTF-8?q?Cosmetic=20#0002375:=20Menu=20COMPTA/LET/?= =?UTF-8?q?LETCARD=20:=20le=20nom=20de=20la=20fiche=20n'appara=C3=AEt=20pa?= =?UTF-8?q?s.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/lettering.card.inc.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/lettering.card.inc.php b/include/lettering.card.inc.php index d5aa2d69e..3405541c0 100644 --- a/include/lettering.card.inc.php +++ b/include/lettering.card.inc.php @@ -41,15 +41,16 @@ $poste->extra="all"; $poste->set_attribute('popup','ipopcard'); $poste->set_attribute('typecard','all'); $poste->set_callback('filter_card'); +$poste->set_attribute('label' ,'account_label'); -if (isset($_GET['acc'])) $poste->value=strtoupper(trim($http->get('acc'))); +if (isset($_GET['acc'])) $poste->value=strtoupper(noalyss_trim($http->get('acc'))); $poste_span=new ISpan('account_label'); $r= td(_('Lettrage pour la fiche ')). - td($poste->input().$poste->search()). - td($poste_span->input()); + td($poste->input().$poste->search()) ; echo tr($r); +echo tr(td(""). td($poste_span->input(),'colspan="2"')); // limit of the year $exercice=$g_user->get_exercice(); $periode=new Periode($cn); From 1d3b37db58c0dda3f677707b68241a58e9d60725 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Tue, 3 Sep 2024 12:47:57 +0200 Subject: [PATCH 09/26] =?UTF-8?q?C0MENU=20:=20bug=20javascript=20Uniquemen?= =?UTF-8?q?t=20note=20de=20d=C3=A9bit=20ou=20cr=C3=A9dit=20ne=20fonctionne?= =?UTF-8?q?=20pas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/js/noalyss_script.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/html/js/noalyss_script.js b/html/js/noalyss_script.js index b803337a1..e4d4e7070 100644 --- a/html/js/noalyss_script.js +++ b/html/js/noalyss_script.js @@ -3879,7 +3879,8 @@ function toggle_checkbox_onoff(icon_domid, p_value_domid) { * @returns {undefined} */ function toggle_row_warning_enable(p_enable, p_row) { - if ($(p_enable).value == 1) { + var warning = document.getElementsByName('negative_amount')[0].value + if ( warning == 1) { $(p_row).show(); } else { $(p_row).hide(); From 28ee90c45dbf46d7db0f0b25e4dd3fb05f20f318 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Tue, 3 Sep 2024 17:59:50 +0200 Subject: [PATCH 10/26] =?UTF-8?q?Task=20#0002376:=20Num=C3=A9ro=20de=20pi?= =?UTF-8?q?=C3=A8ce,=20remplissage=20avec=20des=200=20code=20:=20renommage?= =?UTF-8?q?=20de=20set=5Fpj=20par=20update=5Freceipt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/class/acc_ledger.class.php | 22 +++++++-- include/class/acc_ledger_fin.class.php | 2 +- include/class/acc_ledger_purchase.class.php | 4 +- include/class/acc_ledger_sale.class.php | 4 +- include/class/acc_operation.class.php | 11 +++-- include/class/follow_up.class.php | 2 +- include/constant.php | 2 +- include/database/jrn_def_sql.class.php | 2 + include/sql/patch/upgrade200.sql | 7 +++ include/template/param_jrn.php | 12 ++++- sql/upgrade.sql | 2 - unit-test/include/class/acc_ledgerTest.php | 11 +++-- unit-test/include/class/acc_operationTest.php | 49 +++++++++++++++++++ 13 files changed, 109 insertions(+), 21 deletions(-) create mode 100644 include/sql/patch/upgrade200.sql diff --git a/include/class/acc_ledger.class.php b/include/class/acc_ledger.class.php index 488c81182..ec804adce 100644 --- a/include/class/acc_ledger.class.php +++ b/include/class/acc_ledger.class.php @@ -85,6 +85,13 @@ class Acc_Ledger extends jrn_def_sql $this->currency_id=0; } } + + /** + * @brief returns the sequence number of the receipt for the current ledger + * or create the sequence if it doesn't exist + * @return int + * @throws Exception if the ledger doesn't exist + */ function get_last_pj() { if (isNumber($this->id)==0) @@ -417,7 +424,7 @@ class Acc_Ledger extends jrn_def_sql $reverse_accOp->set_id($reverse_id); $reverse_accOp->pj=$old_receipt['jr_pj_number']; $reverse_accOp->jrn=$old_receipt['jr_def_id']; - $reverse_accOp->set_pj(); + $reverse_accOp->update_receipt(); // Check return code } catch (\Exception $e){ throw new \Exception('Echec extourne'); @@ -508,8 +515,10 @@ class Acc_Ledger extends jrn_def_sql { $prop=$this->get_propertie(); $pj_pref=$prop["jrn_def_pj_pref"]; + $padding=$prop['jrn_def_pj_padding']; $pj_seq=$this->get_last_pj()+1; - return $pj_pref.$pj_seq; + return $pj_pref.str_pad($pj_seq,$padding??0,'0',STR_PAD_LEFT); + } @@ -1584,7 +1593,7 @@ class Acc_Ledger extends jrn_def_sql if ($jr_id==false) throw new Exception(_('Balance incorrecte')); $acc_end->pj=$e_pj; - $this->pj=$acc_end->set_pj(); + $this->pj=$acc_end->update_receipt(); /* if e_suggest != e_pj then do not increment sequence */ if ($this->pj == $e_pj_suggest &&noalyss_strlentrim($e_pj)!=0) { @@ -2689,6 +2698,8 @@ class Acc_Ledger extends jrn_def_sql // use of quantity in ledger $quantity=new InputSwitch('p_jrn_quantity',$this->jrn_def_quantity); + // padding + $padding = new \INum ('p_jrn_padding',$this->jrn_def_pj_padding); require_once NOALYSS_TEMPLATE.'/param_jrn.php'; } @@ -2839,6 +2850,7 @@ class Acc_Ledger extends jrn_def_sql _("Attention, ce journal doit utiliser des montants négatifs")); $this->jrn_def_quantity=$http->extract('p_jrn_quantity','string',1); $jrn_def_pj_seq=$http->extract("jrn_def_pj_seq"); + $this->jrn_def_pj_padding=$http->extract('p_jrn_padding','number'); switch ($this->jrn_def_type) { case 'ACH': @@ -3016,7 +3028,7 @@ class Acc_Ledger extends jrn_def_sql $negative_warning->size="55"; // use of quantity in ledger $quantity=new InputSwitch('p_jrn_quantity',1); - + $padding = new \INum ('p_jrn_padding',5); require_once NOALYSS_TEMPLATE.'/param_jrn.php'; } @@ -3079,7 +3091,7 @@ class Acc_Ledger extends jrn_def_sql $this->jrn_def_negative_amount=$negative_amount; $this->jrn_def_negative_warning=$negative_warning; $this->jrn_enable=1; - + $this->jrn_def_pj_padding=$p_jrn_padding; switch ($this->jrn_def_type) { case 'ACH': diff --git a/include/class/acc_ledger_fin.class.php b/include/class/acc_ledger_fin.class.php index 288ee9025..394284953 100644 --- a/include/class/acc_ledger_fin.class.php +++ b/include/class/acc_ledger_fin.class.php @@ -979,7 +979,7 @@ class Acc_Ledger_Fin extends Acc_Ledger $acc_operation->pj=$e_pj; $jr_id=$acc_operation->insert_jrn(); - // $acc_operation->set_pj(); + // $acc_operation->update_receipt(); $this->db->exec_sql('update jrn set jr_pj_number=$1 where jr_id=$2', array($acc_operation->pj, $jr_id)); $internal=$this->compute_internal_code($seq); diff --git a/include/class/acc_ledger_purchase.class.php b/include/class/acc_ledger_purchase.class.php index 61a883561..ad114e14f 100644 --- a/include/class/acc_ledger_purchase.class.php +++ b/include/class/acc_ledger_purchase.class.php @@ -916,7 +916,7 @@ class Acc_Ledger_Purchase extends Acc_Ledger if ( ! $this->jr_id=$acc_operation->insert_jrn() ) { throw new Exception (_("Erreur de balance")); } - $this->pj=$acc_operation->set_pj(); + $this->pj=$acc_operation->update_receipt(); // Set Internal code $this->grpt_id=$seq; @@ -1052,7 +1052,7 @@ class Acc_Ledger_Purchase extends Acc_Ledger // add an automatic PJ if ODS if ($acjrn->get_type()=="ODS") { $acc_pay->pj=$acjrn->guess_pj(); - $acc_pay->set_pj(); + $acc_pay->update_receipt(); } $r1=$this->get_id($internal); $r2=$this->get_id($acinternal); diff --git a/include/class/acc_ledger_sale.class.php b/include/class/acc_ledger_sale.class.php index c567bd3f3..5fa2f583a 100644 --- a/include/class/acc_ledger_sale.class.php +++ b/include/class/acc_ledger_sale.class.php @@ -627,7 +627,7 @@ class Acc_Ledger_Sale extends Acc_Ledger { throw new Exception (_("Erreur de balance")); } - $this->pj = $acc_operation->set_pj(); + $this->pj = $acc_operation->update_receipt(); /** * @@ -758,7 +758,7 @@ class Acc_Ledger_Sale extends Acc_Ledger { // add an automatic PJ if ODS if ($acjrn->get_type()=="ODS") { $acc_pay->pj=$acjrn->guess_pj(); - $acc_pay->set_pj(); + $acc_pay->update_receipt(); } $r1 = $this->get_id($internal); $r2 = $this->get_id($acinternal); diff --git a/include/class/acc_operation.class.php b/include/class/acc_operation.class.php index 0811cfff0..a09581c95 100644 --- a/include/class/acc_operation.class.php +++ b/include/class/acc_operation.class.php @@ -270,11 +270,11 @@ EOF; *\brief set the pj of a operation in jrn. the jr_id must be set *\note if the jr_id it fails */ - function set_pj() + function update_receipt() { if ( noalyss_strlentrim($this->pj) == 0 ) { - echo __LINE__."debug {$this->pj} est vide"; + // echo __LINE__."debug {$this->pj} est vide"; $sql="update jrn set jr_pj_number=$1 where jr_id=$2"; $this->db->exec_sql($sql,array(null,$this->jr_id)); return ''; @@ -307,9 +307,14 @@ EOF; $flag=2; break; } + /* get padding */ + $padding=$this->db->get_value("select jrn_def_pj_padding from jrn_def where jrn_def_id=$1", + array($this->jrn)); $seq=$this->db->get_next_seq('s_jrn_pj'.$this->jrn); - $this->pj=$pref.$seq; + + // see Acc_Ledger::guess_pj + $this->pj=$pref.str_pad($seq,$padding??0,'0',STR_PAD_LEFT); /* check if the new pj numb exist */ $c=$this->db->count_sql("select jr_id from jrn where jr_pj_number=$1 and jr_def_id=$2 diff --git a/include/class/follow_up.class.php b/include/class/follow_up.class.php index 128311e78..c058174ad 100644 --- a/include/class/follow_up.class.php +++ b/include/class/follow_up.class.php @@ -1345,7 +1345,7 @@ class Follow_Up /** * @brief display a form with the saved search - * @return voidµ + * @return void */ public static function display_saved_search() { diff --git a/include/constant.php b/include/constant.php index 108684071..fa0cbef37 100644 --- a/include/constant.php +++ b/include/constant.php @@ -28,7 +28,7 @@ global $version_noalyss; define('NOALYSS_VERSION', 9300 ); // Database schema version -define("DBVERSION", 200); +define("DBVERSION", 201); // version for MONO_DATABASE define("MONO_DATABASE", 25); diff --git a/include/database/jrn_def_sql.class.php b/include/database/jrn_def_sql.class.php index 88602267b..24cabd967 100644 --- a/include/database/jrn_def_sql.class.php +++ b/include/database/jrn_def_sql.class.php @@ -59,6 +59,7 @@ class Jrn_def_SQL extends Table_Data_SQL , "jrn_def_negative_amount"=>"jrn_def_negative_amount" , "jrn_def_negative_warning"=>"jrn_def_negative_warning" , 'jrn_def_quantity'=>'jrn_def_quantity' + ,'jrn_def_pj_padding'=>'jrn_def_pj_padding' ); /* * Type of columns @@ -85,6 +86,7 @@ class Jrn_def_SQL extends Table_Data_SQL , "jrn_def_negative_amount"=>"text" ,"jrn_def_negative_warning"=>"text" ,'jrn_def_quantity'=>"numeric" + ,'jrn_def_pj_padding'=>'numeric' ); $this->default=array( diff --git a/include/sql/patch/upgrade200.sql b/include/sql/patch/upgrade200.sql new file mode 100644 index 000000000..a30bc79b4 --- /dev/null +++ b/include/sql/patch/upgrade200.sql @@ -0,0 +1,7 @@ +begin; + +alter table jrn_def add column jrn_def_pj_padding int; +update jrn_def set jrn_def_pj_padding=0; +alter table jrn_def alter jrn_def_pj_padding set default 0; +insert into version (val,v_description) values (201,'receipt with padding '); +commit; \ No newline at end of file diff --git a/include/template/param_jrn.php b/include/template/param_jrn.php index 259988056..d4dbb4a3a 100644 --- a/include/template/param_jrn.php +++ b/include/template/param_jrn.php @@ -158,6 +158,15 @@ endif; + + + + + + + input()?> + + @@ -167,7 +176,8 @@ endif; - + + jrn_def_pj_padding??0,'0',STR_PAD_LEFT)?> diff --git a/sql/upgrade.sql b/sql/upgrade.sql index 0a1bfa1c3..139597f9c 100644 --- a/sql/upgrade.sql +++ b/sql/upgrade.sql @@ -1,4 +1,2 @@ -begin; -select replace_menu_code('CCARDAT','C0CARD'); diff --git a/unit-test/include/class/acc_ledgerTest.php b/unit-test/include/class/acc_ledgerTest.php index 5705ff14d..b8bb5d86c 100644 --- a/unit-test/include/class/acc_ledgerTest.php +++ b/unit-test/include/class/acc_ledgerTest.php @@ -263,7 +263,7 @@ class Acc_LedgerTest extends TestCase $this->object->id=2; $array=$this->object->get_propertie(); // there are 16 columns in jrn_def - $this->assertEquals(count($array),21); + $this->assertEquals(count($array),22); $this->object->id=0; $array=$this->object->get_propertie(); $this->assertEquals(null,$array); @@ -465,6 +465,7 @@ class Acc_LedgerTest extends TestCase "FIN_FICHE_DEF"=>[2,3,4], "defaultCurrency"=>0, "p_jrn_deb_max_line" => 10, + "p_jrn_padding" => 10 ]; // - update it $acc_ledger=new Acc_Ledger($g_connection,-1); @@ -484,7 +485,8 @@ class Acc_LedgerTest extends TestCase "jrn_def_pj_seq" => 0, "jrn_enable" => 0, "FIN_FICHEDEB" =>array(2,3,4), - "defaultCurrency"=>0 + "defaultCurrency"=>0, + "p_jrn_padding" => 10 ); $acc_ledger->update($update); @@ -899,7 +901,7 @@ class Acc_LedgerTest extends TestCase ob_end_clean(); \Noalyss\Facility::save_file(__DIR__."/file", "acc_ledger-input_new.html", $result); $size=filesize(__DIR__."/file/acc_ledger-input_new.html"); - $this->assertTrue($size == 15664 ," output input_new is not what it is expected"); + $this->assertTrue($size == 15948 ," output input_new is not what it is expected"); } @@ -919,6 +921,7 @@ class Acc_LedgerTest extends TestCase 'min_row'=>5, 'p_description'=>'LEDGER UNIT TEST', 'negative_amount'=>0, + "p_jrn_padding" => 10, 'negative_warning'=>'Warning']; // clean ledger if exists @@ -952,6 +955,7 @@ class Acc_LedgerTest extends TestCase 'min_row'=>5, 'p_description'=>'LEDGER UNIT TEST', 'negative_amount'=>0, + "p_jrn_padding" => 10, 'negative_warning'=>'Warning']; $g_connection->exec_sql("delete from jrn_def where jrn_def_description=$1",['LEDGER UNIT TEST']); @@ -980,6 +984,7 @@ class Acc_LedgerTest extends TestCase 'min_row'=>5, 'p_description'=>'LEDGER UNIT TEST', 'negative_amount'=>0, + "p_jrn_padding" => 10, 'negative_warning'=>'Warning']; // clean ledger if exists $g_connection->exec_sql("delete from jrn_def where jrn_def_name=$1",[$array['p_jrn_name']]); diff --git a/unit-test/include/class/acc_operationTest.php b/unit-test/include/class/acc_operationTest.php index 5bfbf27da..ba9c9335e 100644 --- a/unit-test/include/class/acc_operationTest.php +++ b/unit-test/include/class/acc_operationTest.php @@ -312,4 +312,53 @@ class Acc_OperationTest extends TestCase $result); } + function testUpdate_receipt() { + global $g_connection; + + $receipt=$g_connection->get_value("select jr_pj_number from jrn where jr_id=250"); + // $this->assertEquals('BP19-1',$receipt,'Receipt number incorrect'); + $acc_operation=new Acc_Operation($g_connection); + $acc_operation->set_id(250); + $this->pj=""; + $acc_operation->update_receipt(); + $new_receipt=$g_connection->get_value("select jr_pj_number from jrn where jr_id=250"); + $this->assertTrue($new_receipt== null,'receipt not set to null '); + + $acc_operation->pj='BP-99'; + $acc_operation->update_receipt(); + $new_receipt=$g_connection->get_value("select jr_pj_number from jrn where jr_id=250"); + $this->assertTrue($new_receipt != null,'receipt not compute'); + $this->assertTrue($new_receipt =='BP-99',"[$new_receipt]".'receipt not set'); + + // padding 5 + $ledger=new \Acc_Ledger($g_connection, 83); + $save_prop=$ledger->get_propertie(); + $g_connection->exec_sql('update jrn_def set jrn_def_pj_padding = 5 where jrn_def_id=83'); + $acc_operation->pj=$ledger->guess_pj(); + $acc_operation->update_receipt(); + $new_receipt=$g_connection->get_value("select jr_pj_number from jrn where jr_id=250"); + $this->assertTrue($new_receipt =='BP19-00003',"[$new_receipt] receipt not set"); + + // padding 3 + $g_connection->exec_sql('update jrn_def set jrn_def_pj_padding = 3 where jrn_def_id=83'); + $acc_operation->pj=$ledger->guess_pj(); + $acc_operation->update_receipt(); + $new_receipt=$g_connection->get_value("select jr_pj_number from jrn where jr_id=250"); + $this->assertTrue($new_receipt =='BP19-003',"[$new_receipt] receipt not set"); + + // default no padding + $g_connection->exec_sql('update jrn_def set jrn_def_pj_padding = 0 where jrn_def_id=83'); + $acc_operation->pj=$ledger->guess_pj(); + $acc_operation->update_receipt(); + $new_receipt=$g_connection->get_value("select jr_pj_number from jrn where jr_id=250"); + $this->assertTrue($new_receipt =='BP19-3',"[$new_receipt] receipt not set"); + + // reset to original value + $acc_operation->pj=$receipt; + $acc_operation->update_receipt(); + $g_connection->exec_sql('update jrn_def set jrn_def_pj_padding = $1 where jrn_def_id=83',[$save_prop['jrn_def_pj_padding'] ]); + + + } + } From cf200507ca30d5472bb7f6c447eae084024b7bb6 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Tue, 3 Sep 2024 18:00:07 +0200 Subject: [PATCH 11/26] Cosmetic --- include/template/form_ledger_fin.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/include/template/form_ledger_fin.php b/include/template/form_ledger_fin.php index a4989314d..d09d451e0 100644 --- a/include/template/form_ledger_fin.php +++ b/include/template/form_ledger_fin.php @@ -5,8 +5,7 @@

get_name()?>

- -value=array( array('value'=>1,'label'=>_("Avec date d'extrait")), @@ -72,13 +71,12 @@
- -
+ input();?> input();?>
-
+ From 64e8fe36755374685ec467810ee1d1fcb10a762a Mon Sep 17 00:00:00 2001 From: sparkyx Date: Tue, 3 Sep 2024 19:28:32 +0200 Subject: [PATCH 12/26] Cosmetic add inner_box2 --- html/css/style-classic7.css | 52 ++++++++++++++++++++++++++++++++----- html/js/acc_ledger.js | 4 +-- html/js/card.js | 4 +-- html/js/gestion.js | 2 +- 4 files changed, 50 insertions(+), 12 deletions(-) diff --git a/html/css/style-classic7.css b/html/css/style-classic7.css index 64c6e00fa..0c05d21e2 100644 --- a/html/css/style-classic7.css +++ b/html/css/style-classic7.css @@ -1060,7 +1060,7 @@ div.inner_box { overflow:hidden; z-index:3; position:absolute; - + border-radius: 0px; border:1px solid #00008B; -moz-box-shadow: 10px 10px 5px #888; box-shadow: 15px 15px 15px #888; @@ -1069,24 +1069,55 @@ div.inner_box { width: 100%; left:0px ; } + div.inner_box2 { + background-color: #DCE1EF; + font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; + font-family: 'OpenSansRegular'; + /*! font-family: 'SansationLight'; */ + /*! padding:2px; */ + margin:0px; + overflow:hidden; + z-index:3; + position:absolute; + border-radius: 0px; + border:1px solid #00008B; + -moz-box-shadow: 10px 10px 5px #888; + box-shadow: 15px 15px 15px #888; + font-size:14.4px; + font-size:0.9rem; + width: 50%; + left:22% ; + } /* SM */ @media (max-width: 576px) { - div.inner_box { + div.inner_box,div.inner_box2 { width: 100%; left:0px !important ; + border-radius: 0px; } } /* MD */ @media (min-width: 768px) { - div.inner_box { + div.inner_box{ width: 100%; left:0px ; + border-radius: 0px; + } + div.inner_box2 { + width: 75%; + left:5% ; + border-radius: 0px; } } /* LG */ -@media (max-width: 992px) { - div.inner_box { - left:0px !important; +@media (min-width: 992px) { + div.inner_box { + left:0px; + border-radius: 7px; + } + div.inner_box2 { + width: 75%; + left:5% ; border-radius: 7px; } } @@ -1097,8 +1128,15 @@ div.inner_box { left:5%; /*! margin-bottom: 2%; */ padding-bottom: 10px; - border-radius: 10px; + border-radius: 10px; + border-radius: 7px; } + div.inner_box2{ + width: 50%; + left: 20%; + padding-bottom: 10px; + border-radius: 7px; + } } /***********************************************************************************/ div.op_detail_title { diff --git a/html/js/acc_ledger.js b/html/js/acc_ledger.js index d69d0bf80..c4891fa53 100644 --- a/html/js/acc_ledger.js +++ b/html/js/acc_ledger.js @@ -1476,7 +1476,7 @@ function manage_search_filter(p_obj) { var y = calcy(200) create_div({ 'id': 'boxfilter' + p_obj.div, - 'cssclass': 'inner_box', + 'cssclass': 'inner_box2', 'html': req.responseText, 'style': 'top:' + y + 'px;left:' + x + 'px;position:absolute;width:400px', drag: 1 @@ -1685,7 +1685,7 @@ function display_list_filter(p_dossier,access_code,ledger_type) try { var posy=calcy(250) var div = create_div({"id":"display_list_filter_div", - 'cssclass': "inner_box", 'style': 'width:90%,right:5%;top:'+posy+"px"}); + 'cssclass': "inner_box2", 'style': 'right:5%;top:'+posy+"px"}); div.update(responseHtml.responseText); div.show(); }catch (e) { diff --git a/html/js/card.js b/html/js/card.js index a61b4cd29..c3e17db9a 100644 --- a/html/js/card.js +++ b/html/js/card.js @@ -606,9 +606,9 @@ function fill_ipopcard(obj) } var str_top="top:"+calcy(nTop)+"px"; - var str_style=str_top+";width:45em;height:auto;position:absolute"; + var str_style=str_top+";height:auto;position:absolute"; waiting_box(); - var popup={'id': content,'cssclass':'inner_box','style':str_style,'html':"",'drag':false}; + var popup={'id': content,'cssclass':'inner_box2','style':str_style,'html':"",'drag':false}; add_div(popup); var dossier=$('gDossier').value; diff --git a/html/js/gestion.js b/html/js/gestion.js index d12f81693..a763b622a 100644 --- a/html/js/gestion.js +++ b/html/js/gestion.js @@ -423,7 +423,7 @@ function list_filter_followup(p_dossier,access_code) { var posy=calcy(250) var div = create_div({"id":"filter_followup_id", - 'cssclass': "inner_box", 'style': 'width:90%,right:5%;top:'+posy+"px"}); + 'cssclass': "inner_box2", 'style': 'top:'+posy+"px"}); div.update(responseHtml.responseText); div.show(); } From ce41e75a928bfab703a4d987c9a84140b9cdd197 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Wed, 4 Sep 2024 16:44:33 +0200 Subject: [PATCH 13/26] Cosmetic improve widget bookmark color for hover --- html/css/style-classic7.css | 7 ++++--- include/widget/bookmark/bookmark.php | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/html/css/style-classic7.css b/html/css/style-classic7.css index 0c05d21e2..94bab908c 100644 --- a/html/css/style-classic7.css +++ b/html/css/style-classic7.css @@ -23,7 +23,8 @@ BODY { padding : 0px; margin:0px; color:darkblue !important; - background-color:#FCFDFD; + background-color:#FCFDFD; + --hover : rgba(108, 130, 208, 0.9); } input{ font-family: 'OpenSansRegular'; @@ -3634,6 +3635,6 @@ div.widget-full_size { 30% {transform:rotateY(90deg);} 60% {transform:rotateY(-90deg);} + } - - } \ No newline at end of file + div.row.odd.hover:hover,div.row.even.hover:hover { background-color: var(--hover) !important; } \ No newline at end of file diff --git a/include/widget/bookmark/bookmark.php b/include/widget/bookmark/bookmark.php index d2ebedf87..c0ce26e7b 100644 --- a/include/widget/bookmark/bookmark.php +++ b/include/widget/bookmark/bookmark.php @@ -51,11 +51,11 @@ class Bookmark extends Widget $class=($p&1)?' odd ':'even'; $description=h($item['me_description']); echo << +
From 2cd3b8f35b7fa107976da12f69fc1df9ed788b6c Mon Sep 17 00:00:00 2001 From: sparkyx Date: Wed, 4 Sep 2024 22:02:00 +0200 Subject: [PATCH 14/26] RECONCILE : remove direct access to --- include/impress_rec.inc.php | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/include/impress_rec.inc.php b/include/impress_rec.inc.php index fbd85718b..b8fba55dd 100644 --- a/include/impress_rec.inc.php +++ b/include/impress_rec.inc.php @@ -23,9 +23,9 @@ * \brief print the all the operation reconciled or not, with or without the same amount */ if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis'); -require_once NOALYSS_INCLUDE.'/lib/function_javascript.php'; -global $g_user; +global $g_user; +$http=new HttpInput(); /** *@file */ @@ -44,12 +44,21 @@ echo '
'; /* * Limit by date, default current exercice */ -list($start,$end)=$g_user->get_limit_current_exercice(); +$error=0; $dstart=new IDate('p_start'); -$dstart->value=(isset($_REQUEST['p_start']))?$_REQUEST['p_start']:$start; - $dend=new IDate('p_end'); -$dend->value=(isset($_REQUEST['p_end']))?$_REQUEST['p_end']:$end; +list($start,$end)=$g_user->get_limit_current_exercice(); + +try { + $dstart->value=$http->request('p_start','date',$start); + + $dend->value=$http->request('p_end','date',$end); + +} catch (\Exception $e) { + echo_warning('Date invalide'); + $error=1; + +} echo "Opérations entre ".$dstart->input()." jusque ".$dend->input(); echo '
    '; @@ -82,6 +91,7 @@ echo '
'; echo '
'; echo '
'; if ( ! isset($_GET['vis'])) return; +if ($error == 1) return; $acc_reconciliation=new Acc_Reconciliation($cn); $acc_reconciliation->a_jrn=$r_jrn; $acc_reconciliation->start_day=$dstart->value; From 0450326a48375d61f7a847b17b7251da25b309d9 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Thu, 5 Sep 2024 21:20:08 +0200 Subject: [PATCH 15/26] RECONCILE : fix bug : sum incorrect if several items --- include/class/acc_reconciliation.class.php | 23 +++--- include/constant.php | 2 +- include/sql/patch/upgrade201.sql | 73 +++++++++++++++++++ include/template/impress_reconciliation.php | 6 +- .../impress_reconciliation_detail.php | 11 ++- 5 files changed, 98 insertions(+), 17 deletions(-) create mode 100644 include/sql/patch/upgrade201.sql diff --git a/include/class/acc_reconciliation.class.php b/include/class/acc_reconciliation.class.php index 6b4cf8439..2a318efb7 100644 --- a/include/class/acc_reconciliation.class.php +++ b/include/class/acc_reconciliation.class.php @@ -282,6 +282,7 @@ j1.j_poste as poste $array=$this->db->get_array("select distinct jr_id,jr_date from jrn where $filter_date and $sql_jrn and jr_id not in (select jr_id from jrn_rapt union select jra_concerned from jrn_rapt) order by jr_date"); $ret=array(); + \Noalyss\Dbg::echo_var(1, $this->db->sql); for ($i=0;$ijr_id=$array[$i]['jr_id']; @@ -463,7 +464,7 @@ j1.j_poste as poste } } /** - * Export to CSV + * @brief Export to CSV * @param type $p_choice * * @note must be set before calling @@ -595,7 +596,7 @@ j1.j_poste as poste } /** - * + * @brief retrieve data * @param type $p_choice * - 0 : operation reconcilied * - 1 : reconcilied with different amount @@ -633,7 +634,7 @@ j1.j_poste as poste $seen=1; } /** - * Retrieve the amount VAT included and autoreversed VAT excluded thanks + * @brief Retrieve the amount VAT included and autoreversed VAT excluded thanks * the view v_quant_detail and return it. * If the operation is not a sale or a purchase , it doesn't exist in the * view then the function just returns the default amount @@ -648,15 +649,19 @@ j1.j_poste as poste $this->prepare_query_detail_quant(); $p=1; } - + bcscale(2); $retdb=$this->db->execute("detail_quant",array($p_jrn_id)); - if ( Database::num_row($retdb) != 0) + $nb_record=Database::num_row($retdb); + if ( $nb_record > 0) { + $total_price=$first_amount=0; + for ($i=0;$i<$nb_record;$i++) { // then second_amount takes in account the vat_sided - $row=Database::fetch_array($retdb, 0); - $total_price=bcadd($row['price'],$row['vat_amount']); - $total_price=bcsub($total_price,$row['vat_sided']); - $first_amount=$total_price; + $row=Database::fetch_array($retdb, $i); + $total_price=bcadd($row['price'],$row['vat_amount']); + $total_price=bcsub($total_price,$row['vat_sided']); + $first_amount=bcadd($total_price,$first_amount); + } } else { // else take the amount from jrn diff --git a/include/constant.php b/include/constant.php index fa0cbef37..be44cfb82 100644 --- a/include/constant.php +++ b/include/constant.php @@ -28,7 +28,7 @@ global $version_noalyss; define('NOALYSS_VERSION', 9300 ); // Database schema version -define("DBVERSION", 201); +define("DBVERSION", 202); // version for MONO_DATABASE define("MONO_DATABASE", 25); diff --git a/include/sql/patch/upgrade201.sql b/include/sql/patch/upgrade201.sql new file mode 100644 index 000000000..a688665be --- /dev/null +++ b/include/sql/patch/upgrade201.sql @@ -0,0 +1,73 @@ +begin; + +drop VIEW public.v_quant_detail; + +CREATE OR REPLACE VIEW public.v_quant_detail +AS WITH quant AS ( + SELECT quant_purchase.j_id, + quant_purchase.qp_fiche AS fiche_id, + quant_purchase.qp_supplier AS tiers, + quant_purchase.qp_vat AS vat_amount, + quant_purchase.qp_price AS price, + quant_purchase.qp_vat_code AS vat_code, + quant_purchase.qp_dep_priv AS dep_priv, + quant_purchase.qp_nd_tva AS nd_tva, + quant_purchase.qp_nd_tva_recup AS nd_tva_recup, + quant_purchase.qp_nd_amount AS nd_amount, + quant_purchase.qp_vat_sided AS vat_sided + FROM quant_purchase + UNION ALL + SELECT quant_sold.j_id, + quant_sold.qs_fiche, + quant_sold.qs_client, + quant_sold.qs_vat, + quant_sold.qs_price, + quant_sold.qs_vat_code, + 0, + 0, + 0, + 0, + quant_sold.qs_vat_sided + FROM quant_sold +), + sum_jrn as( + select jrn2.jr_id, + quant2.tiers, + sum(quant2.price) AS price, + quant2.vat_code, + sum(quant2.vat_amount) AS vat_amount, + sum(quant2.dep_priv) AS dep_priv, + sum(quant2.nd_tva) AS nd_tva, + sum(quant2.nd_tva_recup) AS nd_tva_recup, + sum(quant2.nd_amount) AS nd_amount, + sum(quant2.vat_sided) as vat_sided + from jrn jrn2 + JOIN jrnx ON jrnx.j_grpt = jrn2.jr_grpt_id + JOIN quant quant2 USING (j_id) + group by quant2.tiers,jrn2.jr_id,quant2.vat_code + ) + SELECT jrn.jr_id, + sum_jrn.tiers, + sum_jrn.price, + sum_jrn.vat_code, + sum_jrn.vat_amount, + sum_jrn.dep_priv, + sum_jrn.nd_tva, + sum_jrn.nd_tva_recup, + sum_jrn.nd_amount, + sum_jrn.vat_sided, + jrn_def.jrn_def_name, + jrn_def.jrn_def_type, + vw_fiche_name.name, + jrn.jr_comment, + jrn.jr_montant, + tva_rate.tva_label + FROM jrn + join sum_jrn on sum_jrn.jr_id=jrn.jr_id + LEFT JOIN vw_fiche_name ON sum_jrn.tiers = vw_fiche_name.f_id + JOIN jrn_def ON jrn_def.jrn_def_id = jrn.jr_def_id + JOIN tva_rate ON tva_rate.tva_id = sum_jrn.vat_code +; + +insert into version (val,v_description) values (202,'Bug with reconcile, improve view'); +commit; \ No newline at end of file diff --git a/include/template/impress_reconciliation.php b/include/template/impress_reconciliation.php index d0c7d6939..4de4fe761 100644 --- a/include/template/impress_reconciliation.php +++ b/include/template/impress_reconciliation.php @@ -35,9 +35,9 @@ for ($i=0;$idb->execute('detail_quant',array($array[$i]['first']['jr_id'])); - $acc_reconciliation->show_detail($ret); + // check if operation does exist in v_detail_quant + $ret=$acc_reconciliation->db->execute('detail_quant',array($array[$i]['first']['jr_id'])); + $acc_reconciliation->show_detail($ret); if ( isset($array[$i]['depend']) ) { $tot2=0; diff --git a/include/template/impress_reconciliation_detail.php b/include/template/impress_reconciliation_detail.php index 9232b5f7f..81831f7e3 100644 --- a/include/template/impress_reconciliation_detail.php +++ b/include/template/impress_reconciliation_detail.php @@ -88,7 +88,9 @@ for ($i=0;$i < $nb_record;$i++) : -
+ + + @@ -99,7 +101,7 @@ for ($i=0;$i < $nb_record;$i++) : + -
Totaux - + @@ -111,8 +113,9 @@ for ($i=0;$i < $nb_record;$i++) : -
+ From 7d3bef3b2dc57b6ae50ff725b1ff78e03c9ac7cf Mon Sep 17 00:00:00 2001 From: sparkyx Date: Wed, 4 Sep 2024 23:33:50 +0200 Subject: [PATCH 16/26] RECONCILE : VAT ND not in account --- include/class/acc_reconciliation.class.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/class/acc_reconciliation.class.php b/include/class/acc_reconciliation.class.php index 2a318efb7..c532212b1 100644 --- a/include/class/acc_reconciliation.class.php +++ b/include/class/acc_reconciliation.class.php @@ -407,7 +407,8 @@ j1.j_poste as poste $total_price=bcsub($total_price,$row['vat_sided']); $total_price=bcadd($total_price,$row['nd_amount']); $total_price=bcadd($total_price,$row['nd_tva_recup']); - + $total_price=bcadd($total_price,$row['nd_tva']); + } $second_amount=bcadd($second_amount,$total_price); @@ -660,6 +661,8 @@ j1.j_poste as poste $row=Database::fetch_array($retdb, $i); $total_price=bcadd($row['price'],$row['vat_amount']); $total_price=bcsub($total_price,$row['vat_sided']); + $total_price=bcadd($total_price,$row['nd_tva']); + $total_price=bcadd($total_price,$row['nd_tva_recup']); $first_amount=bcadd($total_price,$first_amount); } From 66c08da8feac049f2b5602917f7d7b203b5a8222 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Fri, 6 Sep 2024 00:17:42 +0200 Subject: [PATCH 17/26] Fix bug CSV for P1TVA , wrong header --- include/class/tax_detail.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/class/tax_detail.class.php b/include/class/tax_detail.class.php index 1008cc6b3..ab1698fef 100644 --- a/include/class/tax_detail.class.php +++ b/include/class/tax_detail.class.php @@ -161,7 +161,7 @@ order by jr_date,j_debit $noalyss_csv=new Noalyss_Csv(sprintf("tax_detail-{$this->tva_code}-{$this->from}-{$this->to}")); $data=$this->get_data(); - $header=["date",'piece',"fiche","poste","base","privé","code tva","taux","montant tva","non deductible","recup"]; + $header=[_("date"),_('piece'),_("n° interne"),_("fiche"),_("poste"),_("base"),_("privé"),_("code tva"),_("taux"),_("montant tva"),_("non deductible"),_("recup")]; $noalyss_csv->send_header(); $noalyss_csv->write_header($header ); foreach ($data as $item) { From 50d03e6615b11bbead584c2791afe0e360f8e789 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Fri, 6 Sep 2024 00:17:42 +0200 Subject: [PATCH 18/26] Fix bug CSV for P1TVA , wrong header --- include/class/tax_detail.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/class/tax_detail.class.php b/include/class/tax_detail.class.php index 1008cc6b3..ab1698fef 100644 --- a/include/class/tax_detail.class.php +++ b/include/class/tax_detail.class.php @@ -161,7 +161,7 @@ order by jr_date,j_debit $noalyss_csv=new Noalyss_Csv(sprintf("tax_detail-{$this->tva_code}-{$this->from}-{$this->to}")); $data=$this->get_data(); - $header=["date",'piece',"fiche","poste","base","privé","code tva","taux","montant tva","non deductible","recup"]; + $header=[_("date"),_('piece'),_("n° interne"),_("fiche"),_("poste"),_("base"),_("privé"),_("code tva"),_("taux"),_("montant tva"),_("non deductible"),_("recup")]; $noalyss_csv->send_header(); $noalyss_csv->write_header($header ); foreach ($data as $item) { From 5442bb712011dc8db08b8916c2f6117fdd063b39 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Sat, 7 Sep 2024 12:09:36 +0200 Subject: [PATCH 19/26] Bug : some db doesn't have the view v_quant_detail --- html/css/style-classic7.css | 1 - include/sql/patch/upgrade201.sql | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/html/css/style-classic7.css b/html/css/style-classic7.css index 94bab908c..f3b19a089 100644 --- a/html/css/style-classic7.css +++ b/html/css/style-classic7.css @@ -855,7 +855,6 @@ input[disabled], textarea[disabled], option[disabled], optgroup[disabled], selec a#anchorbutton, .button, a.button,div.content a.button { color:#FFFFFF; - font-weight: bold; text-decoration:none; font-family: arial,verdana,sans-serif,helvetica; background-image: url("../image/bg-submit2.gif"); diff --git a/include/sql/patch/upgrade201.sql b/include/sql/patch/upgrade201.sql index a688665be..e608ee68e 100644 --- a/include/sql/patch/upgrade201.sql +++ b/include/sql/patch/upgrade201.sql @@ -1,6 +1,6 @@ begin; -drop VIEW public.v_quant_detail; +drop VIEW if exists public.v_quant_detail; CREATE OR REPLACE VIEW public.v_quant_detail AS WITH quant AS ( @@ -70,4 +70,4 @@ AS WITH quant AS ( ; insert into version (val,v_description) values (202,'Bug with reconcile, improve view'); -commit; \ No newline at end of file +commit; From 6f75142c8fedef9c897040a3fb165a9c417efe57 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Sat, 7 Sep 2024 14:23:53 +0200 Subject: [PATCH 20/26] Improve : creation db , mod1 , mod2 and account_repository remove the alter table disable all triggers --- html/install.php | 41 +- include/class/package_template.class.php | 33 +- include/sql/account_repository/constraint.sql | 117 +- include/sql/account_repository/make-sql | 7 +- include/sql/account_repository/schema.sql | 113 -- include/sql/mod1/constraint.sql | 1235 +++++++++++-- include/sql/mod1/make-sql | 6 +- include/sql/mod1/schema.sql | 1562 ----------------- include/sql/mod2/make-sql | 6 +- 9 files changed, 1205 insertions(+), 1915 deletions(-) diff --git a/html/install.php b/html/install.php index dd0639ee5..b61e856da 100644 --- a/html/install.php +++ b/html/install.php @@ -600,36 +600,11 @@ if ($account == 0 ) { if ( DEBUGNOALYSS == 0 ) ob_start(); $cn->exec_sql("create database ".domaine."account_repository encoding='utf8'"); $repo=new Database(); - $sql_trigger_activate=" - create or replace procedure public.trigger_activate(to_enable bool) -language plpgsql -as -$$ -declare - rec1 record; - cmd text; -begin -for rec1 in (select relname,nspname - from pg_catalog.pg_class pc join pg_catalog.pg_namespace pn on (pn.oid=pc.relnamespace) - where pn.nspname in ('public','comptaproc') and relhastriggers is true) loop - if to_enable is false then - cmd=format('alter table %s.%s disable trigger all',rec1.nspname,rec1.relname); - else - cmd=format('alter table %s.%s enable trigger all',rec1.nspname,rec1.relname); - end if; - execute cmd; - raise notice '%',cmd; - end loop; -end -$$; - "; - - $repo->exec_sql($sql_trigger_activate); $repo->start(); $repo->execute_script(NOALYSS_INCLUDE."/sql/account_repository/schema.sql"); - $repo->exec_sql("call public.trigger_activate(false) "); $repo->execute_script(NOALYSS_INCLUDE."/sql/account_repository/data.sql"); + $repo->execute_script(NOALYSS_INCLUDE."/sql/account_repository/constraint.sql"); $repo->commit($cn); /* update name administrator */ @@ -638,9 +613,6 @@ $$; $repo->exec_sql("update public.ac_users set use_login=$1,use_pass=md5($2),use_active=1 where use_id=1", array(strtolower($cadmin),$cpassword_admin)); - - $repo->exec_sql("call public.trigger_activate(true) "); - $repo->exec_sql("drop procedure public.trigger_activate "); if ( DEBUGNOALYSS == 0 ) { ob_end_clean(); @@ -654,15 +626,13 @@ $$; $cn->exec_sql("create database ".domaine."mod1 encoding='utf8'"); $cn=new Database(1,'mod'); - $cn->exec_sql($sql_trigger_activate); + $cn->start(); $cn->execute_script(NOALYSS_INCLUDE.'/sql/mod1/schema.sql'); - $cn->exec_sql("call public.trigger_activate(false) "); $cn->execute_script(NOALYSS_INCLUDE.'/sql/mod1/data.sql'); + $cn->execute_script(NOALYSS_INCLUDE.'/sql/mod1/constraint.sql'); $cn->commit(); - $cn->exec_sql("call public.trigger_activate(true) "); - $cn->exec_sql("drop procedure public.trigger_activate"); if ( DEBUGNOALYSS == 0 ) { ob_end_clean(); @@ -671,18 +641,15 @@ $$; echo _("Creation of Modele 2"); $cn->exec_sql("create database ".domaine."mod2 encoding='utf8'"); $cn=new Database(2,'mod'); - $cn->exec_sql($sql_trigger_activate); $cn->start(); if ( DEBUGNOALYSS == 0 ) { ob_start(); } $cn->execute_script(NOALYSS_INCLUDE.'/sql/mod1/schema.sql'); - $cn->exec_sql("call public.trigger_activate(false) "); $cn->execute_script(NOALYSS_INCLUDE.'/sql/mod2/data.sql'); + $cn->execute_script(NOALYSS_INCLUDE.'/sql/mod1/constraint.sql'); $cn->commit(); - $cn->exec_sql("call public.trigger_activate(true) "); - $cn->exec_sql("drop procedure public.trigger_activate"); if ( DEBUGNOALYSS == 0 ) ob_end_clean(); echo '

'._('Important').'

'; echo '

'._('Utilisateur administrateur'),' ',NOALYSS_ADMINISTRATOR,'

'; diff --git a/include/class/package_template.class.php b/include/class/package_template.class.php index bcd958c02..8c6aee436 100644 --- a/include/class/package_template.class.php +++ b/include/class/package_template.class.php @@ -61,41 +61,12 @@ class Package_Template extends Package_Noalyss $sql=sprintf(" create database %smod%d encoding='utf8'", domaine, $seq); $cn->exec_sql($sql); - $newdb=new Database($seq, 'mod'); - $sql_trigger_activate=" - create or replace procedure public.trigger_activate(to_enable bool) -language plpgsql -as -$$ -declare - rec1 record; - cmd text; -begin -for rec1 in (select relname,nspname - from pg_catalog.pg_class pc join pg_catalog.pg_namespace pn on (pn.oid=pc.relnamespace) - where pn.nspname in ('public','comptaproc') and relhastriggers is true) loop - if to_enable is false then - cmd=format('alter table %s.%s disable trigger all',rec1.nspname,rec1.relname); - else - cmd=format('alter table %s.%s enable trigger all',rec1.nspname,rec1.relname); - end if; - execute cmd; - raise notice '%',cmd; - end loop; -end - -$$; - "; - - $newdb->exec_sql($sql_trigger_activate); - // Execute SQL Script + // Execute SQL Script $newdb->execute_script($tmpdir.'/schema.sql'); - $newdb->exec_sql("call public.trigger_activate(false) "); + $newdb->execute_script($tmpdir.'/data.sql'); $newdb->execute_script($tmpdir.'/constraint.sql'); - $newdb->exec_sql("call public.trigger_activate(true) "); - $newdb->exec_sql("drop procedure public.trigger_activate "); // Register into account_repository, we add the seq number for avoiding duplicate $description = sprintf(_("Installé le %s"),date("d-m-Y h:i:s")); $cn->exec_sql(" insert into modeledef (mod_id,mod_name,mod_desc) values ($1,$2,$3)", diff --git a/include/sql/account_repository/constraint.sql b/include/sql/account_repository/constraint.sql index 6aa16aa8f..157368515 100644 --- a/include/sql/account_repository/constraint.sql +++ b/include/sql/account_repository/constraint.sql @@ -1,4 +1,113 @@ - SET client_encoding = 'utf8'; - SET check_function_bodies = false; - SET client_min_messages = warning; -SET search_path = public, pg_catalog; + + + +ALTER TABLE ONLY public.ac_dossier + ADD CONSTRAINT ac_dossier_pkey PRIMARY KEY (dos_id); + + + +ALTER TABLE ONLY public.ac_users + ADD CONSTRAINT ac_users_pkey PRIMARY KEY (use_id); + + + +ALTER TABLE ONLY public.ac_users + ADD CONSTRAINT ac_users_use_login_key UNIQUE (use_login); + + + +ALTER TABLE ONLY public.audit_connect + ADD CONSTRAINT audit_connect_pkey PRIMARY KEY (ac_id); + + + +ALTER TABLE ONLY public.dossier_sent_email + ADD CONSTRAINT de_date_dos_id_ux UNIQUE (de_date, dos_id); + + + +ALTER TABLE ONLY public.dossier_sent_email + ADD CONSTRAINT dossier_sent_email_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY public.jnt_use_dos + ADD CONSTRAINT jnt_use_dos_pkey PRIMARY KEY (jnt_id); + + + +ALTER TABLE ONLY public.modeledef + ADD CONSTRAINT modeledef_pkey PRIMARY KEY (mod_id); + + + +ALTER TABLE ONLY public.user_global_pref + ADD CONSTRAINT pk_user_global_pref PRIMARY KEY (user_id, parameter_type); + + + +ALTER TABLE ONLY public.progress + ADD CONSTRAINT progress_pkey PRIMARY KEY (p_id); + + + +ALTER TABLE ONLY public.recover_pass + ADD CONSTRAINT recover_pass_pkey PRIMARY KEY (request); + + + +ALTER TABLE ONLY public.jnt_use_dos + ADD CONSTRAINT use_id_dos_id_uniq UNIQUE (use_id, dos_id); + + + +ALTER TABLE ONLY public.version + ADD CONSTRAINT version_pkey PRIMARY KEY (val); + + + +CREATE INDEX audit_connect_ac_user ON public.audit_connect USING btree (ac_user); + + + +CREATE INDEX fk_jnt_dos_id ON public.jnt_use_dos USING btree (dos_id); + + + +CREATE INDEX fk_jnt_use_dos ON public.jnt_use_dos USING btree (use_id); + + + +CREATE INDEX fki_ac_users_recover_pass_fk ON public.recover_pass USING btree (use_id); + + + +CREATE TRIGGER limit_user_trg BEFORE INSERT OR UPDATE ON public.audit_connect FOR EACH ROW EXECUTE FUNCTION public.limit_user(); + + + +ALTER TABLE ONLY public.recover_pass + ADD CONSTRAINT ac_users_recover_pass_fk FOREIGN KEY (use_id) REFERENCES public.ac_users(use_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + +ALTER TABLE ONLY public.dossier_sent_email + ADD CONSTRAINT de_ac_dossier_fk FOREIGN KEY (dos_id) REFERENCES public.ac_dossier(dos_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + +ALTER TABLE ONLY public.user_global_pref + ADD CONSTRAINT fk_user_id FOREIGN KEY (user_id) REFERENCES public.ac_users(use_login) ON UPDATE CASCADE ON DELETE CASCADE; + + + +ALTER TABLE ONLY public.jnt_use_dos + ADD CONSTRAINT jnt_use_dos_dos_id_fkey FOREIGN KEY (dos_id) REFERENCES public.ac_dossier(dos_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + +ALTER TABLE ONLY public.jnt_use_dos + ADD CONSTRAINT jnt_use_dos_use_id_fkey FOREIGN KEY (use_id) REFERENCES public.ac_users(use_id); + + + diff --git a/include/sql/account_repository/make-sql b/include/sql/account_repository/make-sql index 1a6d86df6..0675e8d9f 100755 --- a/include/sql/account_repository/make-sql +++ b/include/sql/account_repository/make-sql @@ -11,8 +11,9 @@ export TEMPLATE=account_repository pg_dump -O -U dany -s $TEMPLATE|grep -v "COMMENT ON SCHEMA public IS 'Standard public schema';" |sed "/^--/d" > schema.sql sed -i -e "/COMMENT ON EXTENSION/d" schema.sql sed -i -e "/CREATE EXTENSION/d" schema.sql - -echo "set search_path = public,comptaproc,pg_catalog ;" > data.sql -pg_dump -O -U dany --data-only --column-inserts -O ${TEMPLATE}|sed "/^--/d" | sed -e "/SET search_path/d" >> data.sql +sed -ne '0,/ADD CONSTRAINT/p' schema.sql > tmpSchema.sql +sed -ne '/ADD CONSTRAINT/,$p' schema.sql |sed -e '1d' > constraint.sql +cp tmpSchema.sql schema.sql + diff --git a/include/sql/account_repository/schema.sql b/include/sql/account_repository/schema.sql index ec3f51aad..3218ac824 100644 --- a/include/sql/account_repository/schema.sql +++ b/include/sql/account_repository/schema.sql @@ -272,116 +272,3 @@ ALTER TABLE ONLY public.dossier_sent_email ALTER COLUMN id SET DEFAULT nextval(' ALTER TABLE ONLY public.ac_dossier ADD CONSTRAINT ac_dossier_dos_name_key UNIQUE (dos_name); - - - -ALTER TABLE ONLY public.ac_dossier - ADD CONSTRAINT ac_dossier_pkey PRIMARY KEY (dos_id); - - - -ALTER TABLE ONLY public.ac_users - ADD CONSTRAINT ac_users_pkey PRIMARY KEY (use_id); - - - -ALTER TABLE ONLY public.ac_users - ADD CONSTRAINT ac_users_use_login_key UNIQUE (use_login); - - - -ALTER TABLE ONLY public.audit_connect - ADD CONSTRAINT audit_connect_pkey PRIMARY KEY (ac_id); - - - -ALTER TABLE ONLY public.dossier_sent_email - ADD CONSTRAINT de_date_dos_id_ux UNIQUE (de_date, dos_id); - - - -ALTER TABLE ONLY public.dossier_sent_email - ADD CONSTRAINT dossier_sent_email_pkey PRIMARY KEY (id); - - - -ALTER TABLE ONLY public.jnt_use_dos - ADD CONSTRAINT jnt_use_dos_pkey PRIMARY KEY (jnt_id); - - - -ALTER TABLE ONLY public.modeledef - ADD CONSTRAINT modeledef_pkey PRIMARY KEY (mod_id); - - - -ALTER TABLE ONLY public.user_global_pref - ADD CONSTRAINT pk_user_global_pref PRIMARY KEY (user_id, parameter_type); - - - -ALTER TABLE ONLY public.progress - ADD CONSTRAINT progress_pkey PRIMARY KEY (p_id); - - - -ALTER TABLE ONLY public.recover_pass - ADD CONSTRAINT recover_pass_pkey PRIMARY KEY (request); - - - -ALTER TABLE ONLY public.jnt_use_dos - ADD CONSTRAINT use_id_dos_id_uniq UNIQUE (use_id, dos_id); - - - -ALTER TABLE ONLY public.version - ADD CONSTRAINT version_pkey PRIMARY KEY (val); - - - -CREATE INDEX audit_connect_ac_user ON public.audit_connect USING btree (ac_user); - - - -CREATE INDEX fk_jnt_dos_id ON public.jnt_use_dos USING btree (dos_id); - - - -CREATE INDEX fk_jnt_use_dos ON public.jnt_use_dos USING btree (use_id); - - - -CREATE INDEX fki_ac_users_recover_pass_fk ON public.recover_pass USING btree (use_id); - - - -CREATE TRIGGER limit_user_trg BEFORE INSERT OR UPDATE ON public.audit_connect FOR EACH ROW EXECUTE FUNCTION public.limit_user(); - - - -ALTER TABLE ONLY public.recover_pass - ADD CONSTRAINT ac_users_recover_pass_fk FOREIGN KEY (use_id) REFERENCES public.ac_users(use_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.dossier_sent_email - ADD CONSTRAINT de_ac_dossier_fk FOREIGN KEY (dos_id) REFERENCES public.ac_dossier(dos_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.user_global_pref - ADD CONSTRAINT fk_user_id FOREIGN KEY (user_id) REFERENCES public.ac_users(use_login) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jnt_use_dos - ADD CONSTRAINT jnt_use_dos_dos_id_fkey FOREIGN KEY (dos_id) REFERENCES public.ac_dossier(dos_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jnt_use_dos - ADD CONSTRAINT jnt_use_dos_use_id_fkey FOREIGN KEY (use_id) REFERENCES public.ac_users(use_id); - - - diff --git a/include/sql/mod1/constraint.sql b/include/sql/mod1/constraint.sql index 48de71948..580396503 100644 --- a/include/sql/mod1/constraint.sql +++ b/include/sql/mod1/constraint.sql @@ -1,645 +1,1562 @@ - SET client_encoding = 'utf8'; - SET check_function_bodies = false; - SET client_min_messages = warning; -SET search_path = public, pg_catalog; -ALTER TABLE public.action_comment_document ALTER COLUMN acd_id ADD GENERATED BY DEFAULT AS IDENTITY ( - SEQUENCE NAME public.action_comment_document_acd_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1 -); -ALTER TABLE public.action_gestion_filter ALTER COLUMN af_id ADD GENERATED ALWAYS AS IDENTITY ( - SEQUENCE NAME public.action_gestion_filter_af_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1 -); -ALTER TABLE public.document_component ALTER COLUMN dc_id ADD GENERATED BY DEFAULT AS IDENTITY ( - SEQUENCE NAME public.document_component_dc_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1 -); -ALTER TABLE public.jrn_tax ALTER COLUMN jt_id ADD GENERATED ALWAYS AS IDENTITY ( - SEQUENCE NAME public.jrn_tax_jt_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1 -); -ALTER TABLE public.operation_exercice_detail ALTER COLUMN oed_id ADD GENERATED BY DEFAULT AS IDENTITY ( - SEQUENCE NAME public.operation_exercice_detail_oed_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1 -); -ALTER TABLE public.operation_exercice ALTER COLUMN oe_id ADD GENERATED BY DEFAULT AS IDENTITY ( - SEQUENCE NAME public.operation_exercice_oe_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1 -); -ALTER TABLE ONLY public.acc_other_tax ALTER COLUMN ac_id SET DEFAULT nextval('public.acc_other_tax_ac_id_seq'::regclass); -ALTER TABLE ONLY public.action_detail ALTER COLUMN ad_id SET DEFAULT nextval('public.action_detail_ad_id_seq'::regclass); -ALTER TABLE ONLY public.action_gestion_comment ALTER COLUMN agc_id SET DEFAULT nextval('public.action_gestion_comment_agc_id_seq'::regclass); -ALTER TABLE ONLY public.action_gestion_operation ALTER COLUMN ago_id SET DEFAULT nextval('public.action_gestion_operation_ago_id_seq'::regclass); -ALTER TABLE ONLY public.action_gestion_related ALTER COLUMN aga_id SET DEFAULT nextval('public.action_gestion_related_aga_id_seq'::regclass); -ALTER TABLE ONLY public.action_person ALTER COLUMN ap_id SET DEFAULT nextval('public.action_person_ap_id_seq'::regclass); -ALTER TABLE ONLY public.action_person_option ALTER COLUMN ap_id SET DEFAULT nextval('public.action_person_option_ap_id_seq'::regclass); -ALTER TABLE ONLY public.action_tags ALTER COLUMN at_id SET DEFAULT nextval('public.action_tags_at_id_seq'::regclass); -ALTER TABLE ONLY public.bookmark ALTER COLUMN b_id SET DEFAULT nextval('public.bookmark_b_id_seq'::regclass); -ALTER TABLE ONLY public.contact_option_ref ALTER COLUMN cor_id SET DEFAULT nextval('public.contact_option_ref_cor_id_seq'::regclass); -ALTER TABLE ONLY public.currency ALTER COLUMN id SET DEFAULT nextval('public.currency_id_seq'::regclass); -ALTER TABLE ONLY public.currency_history ALTER COLUMN id SET DEFAULT nextval('public.currency_history_id_seq'::regclass); -ALTER TABLE ONLY public.del_action ALTER COLUMN del_id SET DEFAULT nextval('public.del_action_del_id_seq'::regclass); -ALTER TABLE ONLY public.del_jrn ALTER COLUMN dj_id SET DEFAULT nextval('public.del_jrn_dj_id_seq'::regclass); -ALTER TABLE ONLY public.del_jrnx ALTER COLUMN djx_id SET DEFAULT nextval('public.del_jrnx_djx_id_seq'::regclass); -ALTER TABLE ONLY public.document_option ALTER COLUMN do_id SET DEFAULT nextval('public.document_option_do_id_seq'::regclass); -ALTER TABLE ONLY public.extension ALTER COLUMN ex_id SET DEFAULT nextval('public.extension_ex_id_seq'::regclass); -ALTER TABLE ONLY public.forecast ALTER COLUMN f_id SET DEFAULT nextval('public.forecast_f_id_seq'::regclass); -ALTER TABLE ONLY public.forecast_category ALTER COLUMN fc_id SET DEFAULT nextval('public.forecast_cat_fc_id_seq'::regclass); -ALTER TABLE ONLY public.forecast_item ALTER COLUMN fi_id SET DEFAULT nextval('public.forecast_item_fi_id_seq'::regclass); -ALTER TABLE ONLY public.jnt_document_option_contact ALTER COLUMN jdoc_id SET DEFAULT nextval('public.jnt_document_option_contact_jdoc_id_seq'::regclass); -ALTER TABLE ONLY public.jnt_letter ALTER COLUMN jl_id SET DEFAULT nextval('public.jnt_letter_jl_id_seq'::regclass); -ALTER TABLE ONLY public.jnt_tag_group_tag ALTER COLUMN jt_id SET DEFAULT nextval('public.jnt_tag_group_tag_jt_id_seq'::regclass); -ALTER TABLE ONLY public.jrn_info ALTER COLUMN ji_id SET DEFAULT nextval('public.jrn_info_ji_id_seq'::regclass); -ALTER TABLE ONLY public.jrn_note ALTER COLUMN n_id SET DEFAULT nextval('public.jrn_note_n_id_seq'::regclass); -ALTER TABLE ONLY public.key_distribution ALTER COLUMN kd_id SET DEFAULT nextval('public.key_distribution_kd_id_seq'::regclass); -ALTER TABLE ONLY public.key_distribution_activity ALTER COLUMN ka_id SET DEFAULT nextval('public.key_distribution_activity_ka_id_seq'::regclass); -ALTER TABLE ONLY public.key_distribution_detail ALTER COLUMN ke_id SET DEFAULT nextval('public.key_distribution_detail_ke_id_seq'::regclass); -ALTER TABLE ONLY public.key_distribution_ledger ALTER COLUMN kl_id SET DEFAULT nextval('public.key_distribution_ledger_kl_id_seq'::regclass); -ALTER TABLE ONLY public.letter_cred ALTER COLUMN lc_id SET DEFAULT nextval('public.letter_cred_lc_id_seq'::regclass); -ALTER TABLE ONLY public.letter_deb ALTER COLUMN ld_id SET DEFAULT nextval('public.letter_deb_ld_id_seq'::regclass); -ALTER TABLE ONLY public.link_action_type ALTER COLUMN l_id SET DEFAULT nextval('public.link_action_type_l_id_seq'::regclass); -ALTER TABLE ONLY public.menu_default ALTER COLUMN md_id SET DEFAULT nextval('public.menu_default_md_id_seq'::regclass); -ALTER TABLE ONLY public.operation_currency ALTER COLUMN id SET DEFAULT nextval('public.operation_currency_id_seq'::regclass); -ALTER TABLE ONLY public.operation_tag ALTER COLUMN opt_id SET DEFAULT nextval('public.operation_tag_opt_id_seq'::regclass); -ALTER TABLE ONLY public.parameter_extra ALTER COLUMN id SET DEFAULT nextval('public.parameter_extra_id_seq'::regclass); -ALTER TABLE ONLY public.payment_method ALTER COLUMN mp_id SET DEFAULT nextval('public.mod_payment_mp_id_seq'::regclass); -ALTER TABLE ONLY public.profile ALTER COLUMN p_id SET DEFAULT nextval('public.profile_p_id_seq'::regclass); -ALTER TABLE ONLY public.profile_menu ALTER COLUMN pm_id SET DEFAULT nextval('public.profile_menu_pm_id_seq'::regclass); -ALTER TABLE ONLY public.profile_mobile ALTER COLUMN pmo_id SET DEFAULT nextval('public.profile_mobile_pmo_id_seq'::regclass); -ALTER TABLE ONLY public.profile_sec_repository ALTER COLUMN ur_id SET DEFAULT nextval('public.profile_sec_repository_ur_id_seq'::regclass); -ALTER TABLE ONLY public.profile_user ALTER COLUMN pu_id SET DEFAULT nextval('public.profile_user_pu_id_seq'::regclass); -ALTER TABLE ONLY public.quant_fin ALTER COLUMN qf_id SET DEFAULT nextval('public.quant_fin_qf_id_seq'::regclass); -ALTER TABLE ONLY public.stock_change ALTER COLUMN c_id SET DEFAULT nextval('public.stock_change_c_id_seq'::regclass); -ALTER TABLE ONLY public.stock_repository ALTER COLUMN r_id SET DEFAULT nextval('public.stock_repository_r_id_seq'::regclass); -ALTER TABLE ONLY public.tag_group ALTER COLUMN tg_id SET DEFAULT nextval('public.tag_group_tg_id_seq'::regclass); -ALTER TABLE ONLY public.tags ALTER COLUMN t_id SET DEFAULT nextval('public.tags_t_id_seq'::regclass); -ALTER TABLE ONLY public.tmp_stockgood ALTER COLUMN s_id SET DEFAULT nextval('public.tmp_stockgood_s_id_seq'::regclass); -ALTER TABLE ONLY public.tmp_stockgood_detail ALTER COLUMN d_id SET DEFAULT nextval('public.tmp_stockgood_detail_d_id_seq'::regclass); -ALTER TABLE ONLY public.todo_list_shared ALTER COLUMN id SET DEFAULT nextval('public.todo_list_shared_id_seq'::regclass); -ALTER TABLE ONLY public.user_active_security ALTER COLUMN id SET DEFAULT nextval('public.user_active_security_id_seq'::regclass); -ALTER TABLE ONLY public.user_filter ALTER COLUMN id SET DEFAULT nextval('public.user_filter_id_seq'::regclass); -ALTER TABLE ONLY public.user_sec_action_profile ALTER COLUMN ua_id SET DEFAULT nextval('public.user_sec_action_profile_ua_id_seq'::regclass); -ALTER TABLE ONLY public.acc_other_tax - ADD CONSTRAINT acc_other_tax_pk PRIMARY KEY (ac_id); + + + ALTER TABLE ONLY public.action_comment_document ADD CONSTRAINT action_comment_document_pkey PRIMARY KEY (acd_id); + + + ALTER TABLE ONLY public.action_comment_document ADD CONSTRAINT action_comment_document_un UNIQUE (document_id, action_gestion_comment_id); + + + ALTER TABLE ONLY public.action_gestion_operation ADD CONSTRAINT action_comment_operation_pkey PRIMARY KEY (ago_id); + + + ALTER TABLE ONLY public.action_detail ADD CONSTRAINT action_detail_pkey PRIMARY KEY (ad_id); + + + ALTER TABLE ONLY public.action_gestion_comment ADD CONSTRAINT action_gestion_comment_pkey PRIMARY KEY (agc_id); + + + ALTER TABLE ONLY public.action_gestion ADD CONSTRAINT action_gestion_pkey PRIMARY KEY (ag_id); + + + ALTER TABLE ONLY public.action_gestion_related ADD CONSTRAINT action_gestion_related_pkey PRIMARY KEY (aga_id); + + + ALTER TABLE ONLY public.action_person_option ADD CONSTRAINT action_person_option_pk PRIMARY KEY (ap_id); + + + ALTER TABLE ONLY public.action_person ADD CONSTRAINT action_person_pkey PRIMARY KEY (ap_id); + + + ALTER TABLE ONLY public.action ADD CONSTRAINT action_pkey PRIMARY KEY (ac_id); + + + ALTER TABLE ONLY public.action_tags ADD CONSTRAINT action_tags_pkey PRIMARY KEY (at_id); + + + ALTER TABLE ONLY public.attr_def ADD CONSTRAINT attr_def_pkey PRIMARY KEY (ad_id); + + + ALTER TABLE ONLY public.bilan ADD CONSTRAINT bilan_b_name_key UNIQUE (b_name); + + + ALTER TABLE ONLY public.bilan ADD CONSTRAINT bilan_pkey PRIMARY KEY (b_id); + + + ALTER TABLE ONLY public.bookmark ADD CONSTRAINT bookmark_pkey PRIMARY KEY (b_id); + + + ALTER TABLE ONLY public.centralized ADD CONSTRAINT centralized_pkey PRIMARY KEY (c_id); + + + ALTER TABLE ONLY public.contact_option_ref ADD CONSTRAINT contact_option_ref_pk PRIMARY KEY (cor_id); + + + ALTER TABLE ONLY public.currency_history ADD CONSTRAINT currency_history_pk PRIMARY KEY (id); + + + ALTER TABLE ONLY public.currency ADD CONSTRAINT currency_pk PRIMARY KEY (id); + + + ALTER TABLE ONLY public.currency ADD CONSTRAINT currency_un UNIQUE (cr_code_iso); + + + ALTER TABLE ONLY public.del_action ADD CONSTRAINT del_action_pkey PRIMARY KEY (del_id); + + + ALTER TABLE ONLY public.del_jrn ADD CONSTRAINT dj_id PRIMARY KEY (dj_id); + + + ALTER TABLE ONLY public.del_jrnx ADD CONSTRAINT djx_id PRIMARY KEY (djx_id); + + + ALTER TABLE ONLY public.document_component ADD CONSTRAINT document_component_pk PRIMARY KEY (dc_id); + + + ALTER TABLE ONLY public.document_component ADD CONSTRAINT document_component_un UNIQUE (dc_code); + + + ALTER TABLE ONLY public.document_modele ADD CONSTRAINT document_modele_pkey PRIMARY KEY (md_id); + + + ALTER TABLE ONLY public.document_option ADD CONSTRAINT document_option_ref_pk PRIMARY KEY (do_id); + + + ALTER TABLE ONLY public.document_option ADD CONSTRAINT document_option_un UNIQUE (do_code, document_type_id); + + + ALTER TABLE ONLY public.document ADD CONSTRAINT document_pkey PRIMARY KEY (d_id); + + + ALTER TABLE ONLY public.document_state ADD CONSTRAINT document_state_pkey PRIMARY KEY (s_id); + + + ALTER TABLE ONLY public.document_type ADD CONSTRAINT document_type_pkey PRIMARY KEY (dt_id); + + + ALTER TABLE ONLY public.fiche_def ADD CONSTRAINT fiche_def_pkey PRIMARY KEY (fd_id); + + + ALTER TABLE ONLY public.fiche_def_ref ADD CONSTRAINT fiche_def_ref_pkey PRIMARY KEY (frd_id); + + + ALTER TABLE ONLY public.fiche ADD CONSTRAINT fiche_pkey PRIMARY KEY (f_id); + + + ALTER TABLE ONLY public.forecast_category ADD CONSTRAINT forecast_cat_pk PRIMARY KEY (fc_id); + + + ALTER TABLE ONLY public.forecast_item ADD CONSTRAINT forecast_item_pkey PRIMARY KEY (fi_id); + + + ALTER TABLE ONLY public.forecast ADD CONSTRAINT forecast_pk PRIMARY KEY (f_id); + + + ALTER TABLE ONLY public.form_detail ADD CONSTRAINT form_pkey PRIMARY KEY (fo_id); + + + ALTER TABLE ONLY public.form_definition ADD CONSTRAINT formdef_pkey PRIMARY KEY (fr_id); + + + ALTER TABLE ONLY public.attr_min ADD CONSTRAINT frd_ad_attr_min_pk PRIMARY KEY (frd_id, ad_id); + + + ALTER TABLE ONLY public.operation_analytique ADD CONSTRAINT historique_analytique_pkey PRIMARY KEY (oa_id); + + + ALTER TABLE ONLY public.tmp_pcmn ADD CONSTRAINT id_ux UNIQUE (id); + + + ALTER TABLE ONLY public.extension ADD CONSTRAINT idx_ex_code UNIQUE (ex_code); + + + ALTER TABLE ONLY public.info_def ADD CONSTRAINT info_def_pkey PRIMARY KEY (id_type); + + + ALTER TABLE ONLY public.jnt_document_option_contact ADD CONSTRAINT jnt_document_option_contact_pkey PRIMARY KEY (jdoc_id); + + + ALTER TABLE ONLY public.jnt_document_option_contact ADD CONSTRAINT jnt_document_option_contact_un UNIQUE (document_type_id, contact_option_ref_id); + + + ALTER TABLE ONLY public.fiche_detail ADD CONSTRAINT jnt_fic_att_value_pkey PRIMARY KEY (jft_id); + + + ALTER TABLE ONLY public.jnt_letter ADD CONSTRAINT jnt_letter_pk PRIMARY KEY (jl_id); + + + ALTER TABLE ONLY public.jnt_tag_group_tag ADD CONSTRAINT jnt_tag_group_tag_pkey PRIMARY KEY (jt_id); + + + ALTER TABLE ONLY public.jnt_tag_group_tag ADD CONSTRAINT jnt_tag_group_tag_un UNIQUE (tag_id, tag_group_id); + + + ALTER TABLE ONLY public.jrn_def ADD CONSTRAINT jrn_def_jrn_def_name_key UNIQUE (jrn_def_name); + + + ALTER TABLE ONLY public.jrn_def ADD CONSTRAINT jrn_def_pkey PRIMARY KEY (jrn_def_id); + + + ALTER TABLE ONLY public.jrn_info ADD CONSTRAINT jrn_info_pkey PRIMARY KEY (ji_id); + + + ALTER TABLE ONLY public.jrn_periode ADD CONSTRAINT jrn_periode_periode_ledger UNIQUE (jrn_def_id, p_id); + + + ALTER TABLE ONLY public.jrn_periode ADD CONSTRAINT jrn_periode_pk PRIMARY KEY (id); + + + ALTER TABLE ONLY public.jrn ADD CONSTRAINT jrn_pkey PRIMARY KEY (jr_id); + + + ALTER TABLE ONLY public.jrn_rapt ADD CONSTRAINT jrn_rapt_pkey PRIMARY KEY (jra_id); + + + ALTER TABLE ONLY public.jrn_tax ADD CONSTRAINT jrn_tax_pk PRIMARY KEY (jt_id); + + + ALTER TABLE ONLY public.jrn_type ADD CONSTRAINT jrn_type_pkey PRIMARY KEY (jrn_type_id); + + + ALTER TABLE ONLY public.jrn_note ADD CONSTRAINT jrnx_note_pkey PRIMARY KEY (n_id); + + + ALTER TABLE ONLY public.jrnx ADD CONSTRAINT jrnx_pkey PRIMARY KEY (j_id); + + + ALTER TABLE ONLY public.key_distribution_activity ADD CONSTRAINT key_distribution_activity_pkey PRIMARY KEY (ka_id); + + + ALTER TABLE ONLY public.key_distribution_detail ADD CONSTRAINT key_distribution_detail_pkey PRIMARY KEY (ke_id); + + + ALTER TABLE ONLY public.key_distribution_ledger ADD CONSTRAINT key_distribution_ledger_pkey PRIMARY KEY (kl_id); + + + ALTER TABLE ONLY public.key_distribution ADD CONSTRAINT key_distribution_pkey PRIMARY KEY (kd_id); + + + ALTER TABLE ONLY public.letter_cred ADD CONSTRAINT letter_cred_j_id_key UNIQUE (j_id); + + + ALTER TABLE ONLY public.letter_cred ADD CONSTRAINT letter_cred_pk PRIMARY KEY (lc_id); + + + ALTER TABLE ONLY public.letter_deb ADD CONSTRAINT letter_deb_j_id_key UNIQUE (j_id); + + + ALTER TABLE ONLY public.letter_deb ADD CONSTRAINT letter_deb_pk PRIMARY KEY (ld_id); + + + ALTER TABLE ONLY public.link_action_type ADD CONSTRAINT link_action_type_pkey PRIMARY KEY (l_id); + + + ALTER TABLE ONLY public.menu_default ADD CONSTRAINT menu_default_md_code_key UNIQUE (md_code); + + + ALTER TABLE ONLY public.menu_default ADD CONSTRAINT menu_default_pkey PRIMARY KEY (md_id); + + + ALTER TABLE ONLY public.menu_ref ADD CONSTRAINT menu_ref_pkey PRIMARY KEY (me_code); + + + ALTER TABLE ONLY public.payment_method ADD CONSTRAINT mod_payment_pkey PRIMARY KEY (mp_id); + + + ALTER TABLE ONLY public.op_predef ADD CONSTRAINT op_def_op_name_key UNIQUE (od_name, jrn_def_id); + + + ALTER TABLE ONLY public.op_predef ADD CONSTRAINT op_def_pkey PRIMARY KEY (od_id); + + + ALTER TABLE ONLY public.op_predef_detail ADD CONSTRAINT op_predef_detail_pkey PRIMARY KEY (opd_id); + + + ALTER TABLE ONLY public.operation_currency ADD CONSTRAINT operation_currency_pk PRIMARY KEY (id); + + + ALTER TABLE ONLY public.operation_exercice_detail ADD CONSTRAINT operation_exercice_detail_pkey PRIMARY KEY (oed_id); + + + ALTER TABLE ONLY public.operation_exercice ADD CONSTRAINT operation_exercice_pkey PRIMARY KEY (oe_id); + + + ALTER TABLE ONLY public.operation_tag ADD CONSTRAINT operation_tag_pkey PRIMARY KEY (opt_id); + + + ALTER TABLE ONLY public.parameter_extra ADD CONSTRAINT parameter_extra_pkey PRIMARY KEY (id); + + + ALTER TABLE ONLY public.parameter ADD CONSTRAINT parameter_pkey PRIMARY KEY (pr_id); + + + ALTER TABLE ONLY public.parm_appearance ADD CONSTRAINT parm_appearance_pkey PRIMARY KEY (a_code); + + + ALTER TABLE ONLY public.parm_code ADD CONSTRAINT parm_code_pkey PRIMARY KEY (p_code); + + + ALTER TABLE ONLY public.parm_money ADD CONSTRAINT parm_money_pkey PRIMARY KEY (pm_code); + + + ALTER TABLE ONLY public.parm_periode ADD CONSTRAINT parm_periode_pkey PRIMARY KEY (p_id); + + + ALTER TABLE ONLY public.parm_poste ADD CONSTRAINT parm_poste_pkey PRIMARY KEY (p_value); + + + ALTER TABLE ONLY public.parameter_extra ADD CONSTRAINT pe_code_ux UNIQUE (pe_code); + + + ALTER TABLE ONLY public.extension ADD CONSTRAINT pk_extension PRIMARY KEY (ex_id); + + + ALTER TABLE ONLY public.groupe_analytique ADD CONSTRAINT pk_ga_id PRIMARY KEY (ga_id); + + + ALTER TABLE ONLY public.jnt_fic_attr ADD CONSTRAINT pk_jnt_fic_attr PRIMARY KEY (jnt_id); + + + ALTER TABLE ONLY public.user_local_pref ADD CONSTRAINT pk_user_local_pref PRIMARY KEY (user_id, parameter_type); + + + ALTER TABLE ONLY public.plan_analytique ADD CONSTRAINT plan_analytique_pa_name_key UNIQUE (pa_name); + + + ALTER TABLE ONLY public.plan_analytique ADD CONSTRAINT plan_analytique_pkey PRIMARY KEY (pa_id); + + + ALTER TABLE ONLY public.poste_analytique ADD CONSTRAINT poste_analytique_pkey PRIMARY KEY (po_id); + + + ALTER TABLE ONLY public.profile_menu ADD CONSTRAINT profile_menu_pkey PRIMARY KEY (pm_id); + + + ALTER TABLE ONLY public.profile_menu_type ADD CONSTRAINT profile_menu_type_pkey PRIMARY KEY (pm_type); + + + ALTER TABLE ONLY public.profile_mobile ADD CONSTRAINT profile_mobile_code_uq UNIQUE (p_id, me_code); + + + ALTER TABLE ONLY public.profile_mobile ADD CONSTRAINT profile_mobile_pkey PRIMARY KEY (pmo_id); + + + ALTER TABLE ONLY public.profile ADD CONSTRAINT profile_pkey PRIMARY KEY (p_id); + + + ALTER TABLE ONLY public.profile_sec_repository ADD CONSTRAINT profile_sec_repository_pkey PRIMARY KEY (ur_id); + + + ALTER TABLE ONLY public.profile_sec_repository ADD CONSTRAINT profile_sec_repository_r_id_p_id_u UNIQUE (r_id, p_id); + + + ALTER TABLE ONLY public.profile_user ADD CONSTRAINT profile_user_pkey PRIMARY KEY (pu_id); + + + ALTER TABLE ONLY public.profile_user ADD CONSTRAINT profile_user_user_name_key UNIQUE (user_name, p_id); + + + ALTER TABLE ONLY public.quant_purchase ADD CONSTRAINT qp_id_pk PRIMARY KEY (qp_id); + + + ALTER TABLE ONLY public.quant_sold ADD CONSTRAINT qs_id_pk PRIMARY KEY (qs_id); + + + ALTER TABLE ONLY public.quant_fin ADD CONSTRAINT quant_fin_pk PRIMARY KEY (qf_id); + + + ALTER TABLE ONLY public.stock_change ADD CONSTRAINT stock_change_pkey PRIMARY KEY (c_id); + + + ALTER TABLE ONLY public.stock_goods ADD CONSTRAINT stock_goods_pkey PRIMARY KEY (sg_id); + + + ALTER TABLE ONLY public.stock_repository ADD CONSTRAINT stock_repository_pkey PRIMARY KEY (r_id); + + + ALTER TABLE ONLY public.tag_group ADD CONSTRAINT tag_group_pk PRIMARY KEY (tg_id); + + + ALTER TABLE ONLY public.operation_tag ADD CONSTRAINT tag_operation_uq UNIQUE (jrn_id, tag_id); + + + ALTER TABLE ONLY public.tags ADD CONSTRAINT tags_pkey PRIMARY KEY (t_id); + + + ALTER TABLE ONLY public.tmp_pcmn ADD CONSTRAINT tmp_pcmn_pkey PRIMARY KEY (pcm_val); + + + ALTER TABLE ONLY public.tmp_stockgood_detail ADD CONSTRAINT tmp_stockgood_detail_pkey PRIMARY KEY (d_id); + + + ALTER TABLE ONLY public.tmp_stockgood ADD CONSTRAINT tmp_stockgood_pkey PRIMARY KEY (s_id); + + + ALTER TABLE ONLY public.todo_list ADD CONSTRAINT todo_list_pkey PRIMARY KEY (tl_id); + + + ALTER TABLE ONLY public.todo_list_shared ADD CONSTRAINT todo_list_shared_pkey PRIMARY KEY (id); + + + ALTER TABLE ONLY public.tool_uos ADD CONSTRAINT tool_uos_pkey PRIMARY KEY (uos_value); + + + ALTER TABLE ONLY public.tva_rate ADD CONSTRAINT tva_code_unique UNIQUE (tva_code); + + + ALTER TABLE ONLY public.tva_rate ADD CONSTRAINT tva_id_pk PRIMARY KEY (tva_id); + + + ALTER TABLE ONLY public.user_sec_jrn ADD CONSTRAINT uniq_user_ledger UNIQUE (uj_login, uj_jrn_id); + + + +COMMENT ON CONSTRAINT uniq_user_ledger ON public.user_sec_jrn IS 'Create an unique combination user / ledger'; + + + ALTER TABLE ONLY public.todo_list_shared ADD CONSTRAINT unique_todo_list_id_login UNIQUE (todo_list_id, use_login); + + + ALTER TABLE ONLY public.user_active_security ADD CONSTRAINT user_active_security_pk PRIMARY KEY (id); + + + ALTER TABLE ONLY public.user_filter ADD CONSTRAINT user_filter_pkey PRIMARY KEY (id); + + + ALTER TABLE ONLY public.user_sec_act ADD CONSTRAINT user_sec_act_pkey PRIMARY KEY (ua_id); + + + ALTER TABLE ONLY public.user_sec_action_profile ADD CONSTRAINT user_sec_action_profile_p_id_p_granted_u UNIQUE (p_id, p_granted); + + + ALTER TABLE ONLY public.user_sec_action_profile ADD CONSTRAINT user_sec_action_profile_pkey PRIMARY KEY (ua_id); + + + ALTER TABLE ONLY public.user_sec_jrn ADD CONSTRAINT user_sec_jrn_pkey PRIMARY KEY (uj_id); + + + ALTER TABLE ONLY public.action_gestion_related ADD CONSTRAINT ux_aga_least_aga_greatest UNIQUE (aga_least, aga_greatest); + + + ALTER TABLE ONLY public.jrn ADD CONSTRAINT ux_internal UNIQUE (jr_internal); + + + ALTER TABLE ONLY public.version ADD CONSTRAINT version_pkey PRIMARY KEY (val); + + + +CREATE UNIQUE INDEX fd_id_ad_id_x ON public.jnt_fic_attr USING btree (fd_id, ad_id); + + + +CREATE INDEX fiche_detail_attr_ix ON public.fiche_detail USING btree (ad_id); + + + +CREATE UNIQUE INDEX fiche_detail_f_id_ad_id ON public.fiche_detail USING btree (f_id, ad_id); + + + +CREATE INDEX fk_action_person_action_gestion ON public.action_person USING btree (ag_id); + + + +CREATE INDEX fk_action_person_fiche ON public.action_person USING btree (f_id); + + + +CREATE INDEX fk_stock_good_repository_r_id ON public.stock_goods USING btree (r_id); + + + +CREATE INDEX fk_stock_goods_f_id ON public.stock_goods USING btree (f_id); + + + +CREATE INDEX fk_stock_goods_j_id ON public.stock_goods USING btree (j_id); + + + +CREATE INDEX fki_f_end_date ON public.forecast USING btree (f_end_date); + + + +CREATE INDEX fki_f_start_date ON public.forecast USING btree (f_start_date); + + + +CREATE INDEX fki_jrn_jr_grpt_id ON public.jrn USING btree (jr_grpt_id); + + + +CREATE INDEX fki_jrnx_f_id ON public.jrnx USING btree (f_id); + + + +CREATE INDEX fki_jrnx_j_grpt ON public.jrnx USING btree (j_grpt); + + + +CREATE INDEX fki_profile_menu_me_code ON public.profile_menu USING btree (me_code); + + + +CREATE INDEX fki_profile_menu_profile ON public.profile_menu USING btree (p_id); + + + +CREATE INDEX fki_profile_menu_type_fkey ON public.profile_menu USING btree (p_type_display); + + + +CREATE INDEX idx_qs_internal ON public.quant_sold USING btree (qs_internal); + + + +CREATE INDEX jnt_fic_att_value_fd_id_idx ON public.fiche_detail USING btree (f_id); + + + +CREATE INDEX jnt_fic_attr_fd_id_idx ON public.jnt_fic_attr USING btree (fd_id); + + + +CREATE INDEX jrnx_j_qcode_ix ON public.jrnx USING btree (j_qcode); + + + +CREATE UNIQUE INDEX k_ag_ref ON public.action_gestion USING btree (ag_ref); + + + +CREATE INDEX link_action_type_fki ON public.action_gestion_related USING btree (aga_type); + + + +CREATE UNIQUE INDEX qcode_idx ON public.fiche_detail USING btree (ad_value) WHERE (ad_id = 23); + + + +CREATE UNIQUE INDEX qf_jr_id ON public.quant_fin USING btree (jr_id); + + + +CREATE UNIQUE INDEX qp_j_id ON public.quant_purchase USING btree (j_id); + + + +CREATE UNIQUE INDEX qs_j_id ON public.quant_sold USING btree (j_id); + + + +CREATE INDEX quant_purchase_jrn_fki ON public.quant_purchase USING btree (qp_internal); + + + +CREATE INDEX quant_sold_jrn_fki ON public.quant_sold USING btree (qs_internal); + + + +CREATE UNIQUE INDEX uj_login_uj_jrn_id ON public.user_sec_jrn USING btree (uj_login, uj_jrn_id); + + + +CREATE UNIQUE INDEX ux_po_name ON public.poste_analytique USING btree (po_name); + + + +CREATE UNIQUE INDEX x_jrn_jr_id ON public.jrn USING btree (jr_id); + + + +CREATE INDEX x_mt ON public.jrn USING btree (jr_mt); + + + +CREATE UNIQUE INDEX x_periode ON public.parm_periode USING btree (p_start, p_end); + + + +CREATE INDEX x_poste ON public.jrnx USING btree (j_poste); + + + +CREATE TRIGGER action_gestion_t_insert_update BEFORE INSERT OR UPDATE ON public.action_gestion FOR EACH ROW EXECUTE FUNCTION comptaproc.action_gestion_ins_upd(); + + + +COMMENT ON TRIGGER action_gestion_t_insert_update ON public.action_gestion IS 'Truncate the column ag_title to 70 char'; + + + +CREATE TRIGGER document_modele_validate BEFORE INSERT OR UPDATE ON public.document_modele FOR EACH ROW EXECUTE FUNCTION comptaproc.t_document_modele_validate(); + + + +CREATE TRIGGER document_validate BEFORE INSERT OR UPDATE ON public.document FOR EACH ROW EXECUTE FUNCTION comptaproc.t_document_validate(); + + + +CREATE TRIGGER fiche_def_ins_upd BEFORE INSERT OR UPDATE ON public.fiche_def FOR EACH ROW EXECUTE FUNCTION comptaproc.fiche_def_ins_upd(); + + + +CREATE TRIGGER fiche_detail_check_qcode_trg BEFORE INSERT OR UPDATE ON public.fiche_detail FOR EACH ROW EXECUTE FUNCTION comptaproc.fiche_detail_check_qcode(); + + + +CREATE TRIGGER fiche_detail_check_trg BEFORE INSERT OR UPDATE ON public.fiche_detail FOR EACH ROW EXECUTE FUNCTION comptaproc.fiche_detail_check(); + + + +CREATE TRIGGER info_def_ins_upd_t BEFORE INSERT OR UPDATE ON public.info_def FOR EACH ROW EXECUTE FUNCTION comptaproc.info_def_ins_upd(); + + + +CREATE TRIGGER jrn_def_description_ins_upd BEFORE INSERT OR UPDATE ON public.jrn_def FOR EACH ROW EXECUTE FUNCTION comptaproc.t_jrn_def_description(); + + + +CREATE TRIGGER opd_limit_description BEFORE INSERT OR UPDATE ON public.op_predef FOR EACH ROW EXECUTE FUNCTION comptaproc.opd_limit_description(); + + + +CREATE TRIGGER parm_periode_check_periode_trg BEFORE INSERT OR UPDATE ON public.parm_periode FOR EACH ROW EXECUTE FUNCTION comptaproc.check_periode(); + + + +CREATE TRIGGER profile_user_ins_upd BEFORE INSERT OR UPDATE ON public.profile_user FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_profile_user_ins_upd(); + + + +COMMENT ON TRIGGER profile_user_ins_upd ON public.profile_user IS 'Force the column user_name to lowercase'; + + + +CREATE TRIGGER quant_sold_ins_upd_tr AFTER INSERT OR UPDATE ON public.quant_purchase FOR EACH ROW EXECUTE FUNCTION comptaproc.quant_purchase_ins_upd(); + + + +CREATE TRIGGER quant_sold_ins_upd_tr AFTER INSERT OR UPDATE ON public.quant_sold FOR EACH ROW EXECUTE FUNCTION comptaproc.quant_sold_ins_upd(); + + + +CREATE TRIGGER remove_action_gestion AFTER DELETE ON public.fiche FOR EACH ROW EXECUTE FUNCTION comptaproc.card_after_delete(); + + + +CREATE TRIGGER t_check_balance AFTER INSERT OR UPDATE ON public.jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.proc_check_balance(); + + + +CREATE TRIGGER t_check_jrn BEFORE INSERT OR DELETE OR UPDATE ON public.jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_check_periode(); + + + +CREATE TRIGGER t_code BEFORE INSERT OR UPDATE ON public.document_component FOR EACH ROW EXECUTE FUNCTION comptaproc.four_upper_letter(); + + + +CREATE TRIGGER t_group_analytic_del BEFORE DELETE ON public.groupe_analytique FOR EACH ROW EXECUTE FUNCTION comptaproc.group_analytique_del(); + + + +CREATE TRIGGER t_group_analytic_ins_upd BEFORE INSERT OR UPDATE ON public.groupe_analytique FOR EACH ROW EXECUTE FUNCTION comptaproc.group_analytic_ins_upd(); + + + +CREATE TRIGGER t_jnt_fic_attr_ins AFTER INSERT ON public.jnt_fic_attr FOR EACH ROW EXECUTE FUNCTION comptaproc.jnt_fic_attr_ins(); + + + +CREATE TRIGGER t_jrn_currency BEFORE INSERT OR UPDATE ON public.jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_currency(); + + + +CREATE TRIGGER t_jrn_def_add_periode AFTER INSERT ON public.jrn_def FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_def_add(); + + + +CREATE TRIGGER t_jrn_def_delete BEFORE DELETE ON public.jrn_def FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_def_delete(); + + + +CREATE TRIGGER t_jrn_del BEFORE DELETE ON public.jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_del(); + + + +CREATE TRIGGER t_jrnx_del BEFORE DELETE ON public.jrnx FOR EACH ROW EXECUTE FUNCTION comptaproc.jrnx_del(); + + + +CREATE TRIGGER t_jrnx_ins BEFORE INSERT ON public.jrnx FOR EACH ROW EXECUTE FUNCTION comptaproc.jrnx_ins(); + + + +COMMENT ON TRIGGER t_jrnx_ins ON public.jrnx IS 'check that the qcode used by the card exists and format it : uppercase and trim the space'; + + + +CREATE TRIGGER t_letter_del AFTER DELETE ON public.jrnx FOR EACH ROW EXECUTE FUNCTION comptaproc.jrnx_letter_del(); + + + +COMMENT ON TRIGGER t_letter_del ON public.jrnx IS 'Delete the lettering for this row'; + + + +CREATE TRIGGER t_plan_analytique_ins_upd BEFORE INSERT OR UPDATE ON public.plan_analytique FOR EACH ROW EXECUTE FUNCTION comptaproc.plan_analytic_ins_upd(); + + + +CREATE TRIGGER t_poste_analytique_ins_upd BEFORE INSERT OR UPDATE ON public.poste_analytique FOR EACH ROW EXECUTE FUNCTION comptaproc.poste_analytique_ins_upd(); + + + +CREATE TRIGGER t_remove_script_tag BEFORE INSERT OR UPDATE ON public.action_gestion_comment FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_remove_script_tag(); + + + +CREATE TRIGGER t_tmp_pcm_alphanum_ins_upd BEFORE INSERT OR UPDATE ON public.tmp_pcmn FOR EACH ROW EXECUTE FUNCTION comptaproc.tmp_pcmn_alphanum_ins_upd(); + + + +CREATE TRIGGER t_tmp_pcmn_ins BEFORE INSERT ON public.tmp_pcmn FOR EACH ROW EXECUTE FUNCTION comptaproc.tmp_pcmn_ins(); + + + +CREATE TRIGGER todo_list_ins_upd BEFORE INSERT OR UPDATE ON public.todo_list FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_todo_list_ins_upd(); + + + +COMMENT ON TRIGGER todo_list_ins_upd ON public.todo_list IS 'Force the column use_login to lowercase'; + + + +CREATE TRIGGER todo_list_shared_ins_upd BEFORE INSERT OR UPDATE ON public.todo_list_shared FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_todo_list_shared_ins_upd(); + + + +COMMENT ON TRIGGER todo_list_shared_ins_upd ON public.todo_list_shared IS 'Force the column ua_login to lowercase'; + + + +CREATE TRIGGER trg_action_gestion_related BEFORE INSERT OR UPDATE ON public.action_gestion_related FOR EACH ROW EXECUTE FUNCTION comptaproc.action_gestion_related_ins_up(); + + + +CREATE TRIGGER trg_category_card_before_delete BEFORE DELETE ON public.fiche_def FOR EACH ROW EXECUTE FUNCTION comptaproc.category_card_before_delete(); + + + +CREATE TRIGGER trg_extension_ins_upd BEFORE INSERT OR UPDATE ON public.extension FOR EACH ROW EXECUTE FUNCTION comptaproc.extension_ins_upd(); + + + +CREATE TRIGGER trg_set_tech_user BEFORE INSERT OR UPDATE ON public.operation_exercice FOR EACH ROW EXECUTE FUNCTION comptaproc.set_tech_user(); + + + +CREATE TRIGGER trigger_document_type_i AFTER INSERT ON public.document_type FOR EACH ROW EXECUTE FUNCTION comptaproc.t_document_type_insert(); + + + +CREATE TRIGGER trigger_jrn_def_sequence_i AFTER INSERT ON public.jrn_def FOR EACH ROW EXECUTE FUNCTION comptaproc.t_jrn_def_sequence(); + + + +CREATE TRIGGER trigger_parameter_extra_format_code_biu BEFORE INSERT OR UPDATE ON public.parameter_extra FOR EACH ROW EXECUTE FUNCTION comptaproc.t_parameter_extra_code(); + + + +CREATE TRIGGER user_sec_act_ins_upd BEFORE INSERT OR UPDATE ON public.user_sec_act FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_user_sec_act_ins_upd(); + + + +COMMENT ON TRIGGER user_sec_act_ins_upd ON public.user_sec_act IS 'Force the column ua_login to lowercase'; + + + +CREATE TRIGGER user_sec_jrn_after_ins_upd BEFORE INSERT OR UPDATE ON public.user_sec_jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_user_sec_jrn_ins_upd(); + + + +COMMENT ON TRIGGER user_sec_jrn_after_ins_upd ON public.user_sec_jrn IS 'Force the column uj_login to lowercase'; + + + ALTER TABLE ONLY public.centralized ADD CONSTRAINT "$1" FOREIGN KEY (c_jrn_def) REFERENCES public.jrn_def(jrn_def_id); + + + ALTER TABLE ONLY public.user_sec_act ADD CONSTRAINT "$1" FOREIGN KEY (ua_act_id) REFERENCES public.action(ac_id); + + + ALTER TABLE ONLY public.fiche_def ADD CONSTRAINT "$1" FOREIGN KEY (frd_id) REFERENCES public.fiche_def_ref(frd_id); + + + ALTER TABLE ONLY public.attr_min ADD CONSTRAINT "$1" FOREIGN KEY (frd_id) REFERENCES public.fiche_def_ref(frd_id); + + + ALTER TABLE ONLY public.fiche ADD CONSTRAINT "$1" FOREIGN KEY (fd_id) REFERENCES public.fiche_def(fd_id); + + + ALTER TABLE ONLY public.fiche_detail ADD CONSTRAINT "$1" FOREIGN KEY (f_id) REFERENCES public.fiche(f_id); + + + ALTER TABLE ONLY public.jnt_fic_attr ADD CONSTRAINT "$1" FOREIGN KEY (fd_id) REFERENCES public.fiche_def(fd_id); + + + ALTER TABLE ONLY public.jrn ADD CONSTRAINT "$1" FOREIGN KEY (jr_def_id) REFERENCES public.jrn_def(jrn_def_id); + + + ALTER TABLE ONLY public.jrn_def ADD CONSTRAINT "$1" FOREIGN KEY (jrn_def_type) REFERENCES public.jrn_type(jrn_type_id); + + + ALTER TABLE ONLY public.jrnx ADD CONSTRAINT "$2" FOREIGN KEY (j_jrn_def) REFERENCES public.jrn_def(jrn_def_id); + + + ALTER TABLE ONLY public.attr_min ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES public.attr_def(ad_id); + + + ALTER TABLE ONLY public.action_comment_document ADD CONSTRAINT action_comment_document_action_gestion_comment_id_fkey FOREIGN KEY (action_gestion_comment_id) REFERENCES public.action_gestion_comment(agc_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_comment_document ADD CONSTRAINT action_comment_document_document_id_fkey FOREIGN KEY (document_id) REFERENCES public.document(d_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_gestion_operation ADD CONSTRAINT action_comment_operation_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_gestion_operation ADD CONSTRAINT action_comment_operation_jr_id_fkey FOREIGN KEY (jr_id) REFERENCES public.jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_detail ADD CONSTRAINT action_detail_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_person ADD CONSTRAINT action_gestion_ag_id_fk2 FOREIGN KEY (ag_id) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_gestion_comment ADD CONSTRAINT action_gestion_comment_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_gestion_related ADD CONSTRAINT action_gestion_related_aga_greatest_fkey FOREIGN KEY (aga_greatest) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_gestion_related ADD CONSTRAINT action_gestion_related_aga_least_fkey FOREIGN KEY (aga_least) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_gestion_related ADD CONSTRAINT action_gestion_related_aga_type_fkey FOREIGN KEY (aga_type) REFERENCES public.link_action_type(l_id); + + + ALTER TABLE ONLY public.action_person ADD CONSTRAINT action_person_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_person ADD CONSTRAINT action_person_f_id_fkey FOREIGN KEY (f_id) REFERENCES public.fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_person_option ADD CONSTRAINT action_person_option_fk FOREIGN KEY (action_person_id) REFERENCES public.action_person(ap_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_tags ADD CONSTRAINT action_tags_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_tags ADD CONSTRAINT action_tags_t_id_fkey FOREIGN KEY (t_id) REFERENCES public.tags(t_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_person_option ADD CONSTRAINT contact_option_ref_fk FOREIGN KEY (contact_option_ref_id) REFERENCES public.contact_option_ref(cor_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.currency_history ADD CONSTRAINT currency_history_currency_fk FOREIGN KEY (currency_id) REFERENCES public.currency(id) ON UPDATE CASCADE ON DELETE RESTRICT; + + + ALTER TABLE ONLY public.document_modele ADD CONSTRAINT document_modele_fk FOREIGN KEY (md_affect) REFERENCES public.document_component(dc_code) ON UPDATE CASCADE; + + + ALTER TABLE ONLY public.document_option ADD CONSTRAINT document_option_ref_fk FOREIGN KEY (document_type_id) REFERENCES public.document_type(dt_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.fiche_detail ADD CONSTRAINT fiche_detail_attr_def_fk FOREIGN KEY (ad_id) REFERENCES public.attr_def(ad_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_person ADD CONSTRAINT fiche_f_id_fk2 FOREIGN KEY (f_id) REFERENCES public.fiche(f_id); + + + ALTER TABLE ONLY public.action_gestion ADD CONSTRAINT fiche_f_id_fk3 FOREIGN KEY (f_id_dest) REFERENCES public.fiche(f_id); + + + ALTER TABLE ONLY public.action_gestion ADD CONSTRAINT fk_action_gestion_document_type FOREIGN KEY (ag_type) REFERENCES public.document_type(dt_id); + + + ALTER TABLE ONLY public.quant_fin ADD CONSTRAINT fk_card FOREIGN KEY (qf_bank) REFERENCES public.fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.quant_fin ADD CONSTRAINT fk_card_other FOREIGN KEY (qf_other) REFERENCES public.fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.forecast_item ADD CONSTRAINT fk_forecast FOREIGN KEY (fc_id) REFERENCES public.forecast_category(fc_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jrn_info ADD CONSTRAINT fk_info_def FOREIGN KEY (id_type) REFERENCES public.info_def(id_type) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jrn_info ADD CONSTRAINT fk_jrn FOREIGN KEY (jr_id) REFERENCES public.jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.quant_fin ADD CONSTRAINT fk_jrn FOREIGN KEY (jr_id) REFERENCES public.jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.groupe_analytique ADD CONSTRAINT fk_pa_id FOREIGN KEY (pa_id) REFERENCES public.plan_analytique(pa_id) ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jrnx ADD CONSTRAINT fk_pcmn_val FOREIGN KEY (j_poste) REFERENCES public.tmp_pcmn(pcm_val); + + + ALTER TABLE ONLY public.centralized ADD CONSTRAINT fk_pcmn_val FOREIGN KEY (c_poste) REFERENCES public.tmp_pcmn(pcm_val); + + + ALTER TABLE ONLY public.stock_goods ADD CONSTRAINT fk_stock_good_f_id FOREIGN KEY (f_id) REFERENCES public.fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.todo_list_shared ADD CONSTRAINT fk_todo_list_shared_todo_list FOREIGN KEY (todo_list_id) REFERENCES public.todo_list(tl_id); + + + ALTER TABLE ONLY public.forecast_category ADD CONSTRAINT forecast_child FOREIGN KEY (f_id) REFERENCES public.forecast(f_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.forecast ADD CONSTRAINT forecast_f_end_date_fkey FOREIGN KEY (f_end_date) REFERENCES public.parm_periode(p_id) ON UPDATE SET NULL ON DELETE SET NULL; + + + ALTER TABLE ONLY public.forecast ADD CONSTRAINT forecast_f_start_date_fkey FOREIGN KEY (f_start_date) REFERENCES public.parm_periode(p_id) ON UPDATE SET NULL ON DELETE SET NULL; + + + ALTER TABLE ONLY public.form_detail ADD CONSTRAINT formdef_fk FOREIGN KEY (fo_fr_id) REFERENCES public.form_definition(fr_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.letter_cred ADD CONSTRAINT jnt_cred_fk FOREIGN KEY (jl_id) REFERENCES public.jnt_letter(jl_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.letter_deb ADD CONSTRAINT jnt_deb_fk FOREIGN KEY (jl_id) REFERENCES public.jnt_letter(jl_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jnt_document_option_contact ADD CONSTRAINT jnt_document_option_contact_contact_option_ref_id_fkey FOREIGN KEY (contact_option_ref_id) REFERENCES public.contact_option_ref(cor_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jnt_document_option_contact ADD CONSTRAINT jnt_document_option_contact_document_type_id_fkey FOREIGN KEY (document_type_id) REFERENCES public.document_type(dt_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jnt_fic_attr ADD CONSTRAINT jnt_fic_attr_attr_def_fk FOREIGN KEY (ad_id) REFERENCES public.attr_def(ad_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jnt_tag_group_tag ADD CONSTRAINT jnt_tag_group_tag_fk FOREIGN KEY (tag_id) REFERENCES public.tags(t_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jnt_tag_group_tag ADD CONSTRAINT jnt_tag_group_tag_fk_1 FOREIGN KEY (tag_group_id) REFERENCES public.tag_group(tg_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jrn ADD CONSTRAINT jrn_currency_fk FOREIGN KEY (currency_id) REFERENCES public.currency(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + + ALTER TABLE ONLY public.jrn_def ADD CONSTRAINT jrn_def_currency_fk FOREIGN KEY (currency_id) REFERENCES public.currency(id); + + + ALTER TABLE ONLY public.op_predef ADD CONSTRAINT jrn_def_id_fk FOREIGN KEY (jrn_def_id) REFERENCES public.jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jrn_periode ADD CONSTRAINT jrn_per_jrn_def_id FOREIGN KEY (jrn_def_id) REFERENCES public.jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jrn_periode ADD CONSTRAINT jrn_periode_p_id FOREIGN KEY (p_id) REFERENCES public.parm_periode(p_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jrn_rapt ADD CONSTRAINT jrn_rapt_jr_id_fkey FOREIGN KEY (jr_id) REFERENCES public.jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jrn_rapt ADD CONSTRAINT jrn_rapt_jra_concerned_fkey FOREIGN KEY (jra_concerned) REFERENCES public.jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jrn_tax ADD CONSTRAINT jrn_tax_acc_other_tax_fk FOREIGN KEY (ac_id) REFERENCES public.acc_other_tax(ac_id); + + + ALTER TABLE ONLY public.jrn_tax ADD CONSTRAINT jrn_tax_fk FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jrnx ADD CONSTRAINT jrnx_f_id_fkey FOREIGN KEY (f_id) REFERENCES public.fiche(f_id) ON UPDATE CASCADE; + + + ALTER TABLE ONLY public.quant_fin ADD CONSTRAINT jrnx_j_id_fk FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.jrn_note ADD CONSTRAINT jrnx_note_j_id_fkey FOREIGN KEY (jr_id) REFERENCES public.jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.key_distribution_activity ADD CONSTRAINT key_distribution_activity_ke_id_fkey FOREIGN KEY (ke_id) REFERENCES public.key_distribution_detail(ke_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.key_distribution_activity ADD CONSTRAINT key_distribution_activity_pa_id_fkey FOREIGN KEY (pa_id) REFERENCES public.plan_analytique(pa_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.key_distribution_activity ADD CONSTRAINT key_distribution_activity_po_id_fkey FOREIGN KEY (po_id) REFERENCES public.poste_analytique(po_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.key_distribution_detail ADD CONSTRAINT key_distribution_detail_kd_id_fkey FOREIGN KEY (kd_id) REFERENCES public.key_distribution(kd_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.key_distribution_ledger ADD CONSTRAINT key_distribution_ledger_jrn_def_id_fkey FOREIGN KEY (jrn_def_id) REFERENCES public.jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.key_distribution_ledger ADD CONSTRAINT key_distribution_ledger_kd_id_fkey FOREIGN KEY (kd_id) REFERENCES public.key_distribution(kd_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.letter_cred ADD CONSTRAINT letter_cred_fk FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.letter_deb ADD CONSTRAINT letter_deb_fk FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.document_modele ADD CONSTRAINT md_type FOREIGN KEY (md_type) REFERENCES public.document_type(dt_id); + + + ALTER TABLE ONLY public.payment_method ADD CONSTRAINT mod_payment_jrn_def_id_fk FOREIGN KEY (jrn_def_id) REFERENCES public.jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.payment_method ADD CONSTRAINT mod_payment_mp_fd_id_fkey FOREIGN KEY (mp_fd_id) REFERENCES public.fiche_def(fd_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.payment_method ADD CONSTRAINT mod_payment_mp_jrn_def_id_fkey FOREIGN KEY (mp_jrn_def_id) REFERENCES public.jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.operation_analytique ADD CONSTRAINT operation_analytique_fiche_id_fk FOREIGN KEY (f_id) REFERENCES public.fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.operation_analytique ADD CONSTRAINT operation_analytique_j_id_fkey FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.operation_analytique ADD CONSTRAINT operation_analytique_po_id_fkey FOREIGN KEY (po_id) REFERENCES public.poste_analytique(po_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.operation_currency ADD CONSTRAINT operation_currency_jrnx_fk FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.operation_exercice_detail ADD CONSTRAINT operation_exercice_detail_oe_id_fkey FOREIGN KEY (oe_id) REFERENCES public.operation_exercice(oe_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.operation_tag ADD CONSTRAINT opt_jrnx FOREIGN KEY (jrn_id) REFERENCES public.jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.operation_tag ADD CONSTRAINT opt_tag_id FOREIGN KEY (tag_id) REFERENCES public.tags(t_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.poste_analytique ADD CONSTRAINT poste_analytique_pa_id_fkey FOREIGN KEY (pa_id) REFERENCES public.plan_analytique(pa_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.action_gestion ADD CONSTRAINT profile_fkey FOREIGN KEY (ag_dest) REFERENCES public.profile(p_id) ON UPDATE SET NULL ON DELETE SET NULL; + + + ALTER TABLE ONLY public.profile_menu ADD CONSTRAINT profile_menu_me_code_fkey FOREIGN KEY (me_code) REFERENCES public.menu_ref(me_code) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.profile_menu ADD CONSTRAINT profile_menu_p_id_fkey FOREIGN KEY (p_id) REFERENCES public.profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.profile_menu ADD CONSTRAINT profile_menu_type_fkey FOREIGN KEY (p_type_display) REFERENCES public.profile_menu_type(pm_type); + + + ALTER TABLE ONLY public.profile_mobile ADD CONSTRAINT profile_mobile_menu_ref_fk FOREIGN KEY (me_code) REFERENCES public.menu_ref(me_code); + + + ALTER TABLE ONLY public.profile_mobile ADD CONSTRAINT profile_mobile_profile_fk FOREIGN KEY (p_id) REFERENCES public.profile(p_id); + + + ALTER TABLE ONLY public.profile_sec_repository ADD CONSTRAINT profile_sec_repository_p_id_fkey FOREIGN KEY (p_id) REFERENCES public.profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.profile_sec_repository ADD CONSTRAINT profile_sec_repository_r_id_fkey FOREIGN KEY (r_id) REFERENCES public.stock_repository(r_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.profile_user ADD CONSTRAINT profile_user_p_id_fkey FOREIGN KEY (p_id) REFERENCES public.profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.quant_purchase ADD CONSTRAINT qp_vat_code_fk FOREIGN KEY (qp_vat_code) REFERENCES public.tva_rate(tva_id) ON UPDATE CASCADE; + + + ALTER TABLE ONLY public.quant_sold ADD CONSTRAINT qs_vat_code_fk FOREIGN KEY (qs_vat_code) REFERENCES public.tva_rate(tva_id) ON UPDATE CASCADE; + + + ALTER TABLE ONLY public.quant_purchase ADD CONSTRAINT quant_purchase_j_id_fkey FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.quant_purchase ADD CONSTRAINT quant_purchase_qp_internal_fkey FOREIGN KEY (qp_internal) REFERENCES public.jrn(jr_internal) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED; + + + ALTER TABLE ONLY public.quant_sold ADD CONSTRAINT quant_sold_j_id_fkey FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.quant_sold ADD CONSTRAINT quant_sold_qs_internal_fkey FOREIGN KEY (qs_internal) REFERENCES public.jrn(jr_internal) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED; + + + ALTER TABLE ONLY public.stock_change ADD CONSTRAINT stock_change_r_id_fkey FOREIGN KEY (r_id) REFERENCES public.stock_repository(r_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.stock_goods ADD CONSTRAINT stock_goods_c_id_fkey FOREIGN KEY (c_id) REFERENCES public.stock_change(c_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.stock_goods ADD CONSTRAINT stock_goods_j_id_fkey FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.tmp_stockgood_detail ADD CONSTRAINT tmp_stockgood_detail_s_id_fkey FOREIGN KEY (s_id) REFERENCES public.tmp_stockgood(s_id) ON DELETE CASCADE; + + + ALTER TABLE ONLY public.user_sec_jrn ADD CONSTRAINT uj_priv_id_fkey FOREIGN KEY (uj_jrn_id) REFERENCES public.jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.user_sec_action_profile ADD CONSTRAINT user_sec_action_profile_p_granted_fkey FOREIGN KEY (p_granted) REFERENCES public.profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; + + + ALTER TABLE ONLY public.user_sec_action_profile ADD CONSTRAINT user_sec_action_profile_p_id_fkey FOREIGN KEY (p_id) REFERENCES public.profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; -CREATE TRIGGER action_gestion_t_insert_update BEFORE INSERT OR UPDATE ON public.action_gestion FOR EACH ROW EXECUTE FUNCTION comptaproc.action_gestion_ins_upd(); -CREATE TRIGGER document_modele_validate BEFORE INSERT OR UPDATE ON public.document_modele FOR EACH ROW EXECUTE FUNCTION comptaproc.t_document_modele_validate(); -CREATE TRIGGER document_validate BEFORE INSERT OR UPDATE ON public.document FOR EACH ROW EXECUTE FUNCTION comptaproc.t_document_validate(); -CREATE TRIGGER fiche_def_ins_upd BEFORE INSERT OR UPDATE ON public.fiche_def FOR EACH ROW EXECUTE FUNCTION comptaproc.fiche_def_ins_upd(); -CREATE TRIGGER fiche_detail_check_qcode_trg BEFORE INSERT OR UPDATE ON public.fiche_detail FOR EACH ROW EXECUTE FUNCTION comptaproc.fiche_detail_check_qcode(); -CREATE TRIGGER fiche_detail_check_trg BEFORE INSERT OR UPDATE ON public.fiche_detail FOR EACH ROW EXECUTE FUNCTION comptaproc.fiche_detail_check(); -CREATE TRIGGER info_def_ins_upd_t BEFORE INSERT OR UPDATE ON public.info_def FOR EACH ROW EXECUTE FUNCTION comptaproc.info_def_ins_upd(); -CREATE TRIGGER jrn_def_description_ins_upd BEFORE INSERT OR UPDATE ON public.jrn_def FOR EACH ROW EXECUTE FUNCTION comptaproc.t_jrn_def_description(); -CREATE TRIGGER opd_limit_description BEFORE INSERT OR UPDATE ON public.op_predef FOR EACH ROW EXECUTE FUNCTION comptaproc.opd_limit_description(); -CREATE TRIGGER parm_periode_check_periode_trg BEFORE INSERT OR UPDATE ON public.parm_periode FOR EACH ROW EXECUTE FUNCTION comptaproc.check_periode(); -CREATE TRIGGER profile_user_ins_upd BEFORE INSERT OR UPDATE ON public.profile_user FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_profile_user_ins_upd(); -CREATE TRIGGER quant_sold_ins_upd_tr AFTER INSERT OR UPDATE ON public.quant_purchase FOR EACH ROW EXECUTE FUNCTION comptaproc.quant_purchase_ins_upd(); -CREATE TRIGGER quant_sold_ins_upd_tr AFTER INSERT OR UPDATE ON public.quant_sold FOR EACH ROW EXECUTE FUNCTION comptaproc.quant_sold_ins_upd(); -CREATE TRIGGER remove_action_gestion AFTER DELETE ON public.fiche FOR EACH ROW EXECUTE FUNCTION comptaproc.card_after_delete(); -CREATE TRIGGER t_check_balance AFTER INSERT OR UPDATE ON public.jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.proc_check_balance(); -CREATE TRIGGER t_check_jrn BEFORE INSERT OR DELETE OR UPDATE ON public.jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_check_periode(); -CREATE TRIGGER t_code BEFORE INSERT OR UPDATE ON public.document_component FOR EACH ROW EXECUTE FUNCTION comptaproc.four_upper_letter(); -CREATE TRIGGER t_group_analytic_del BEFORE DELETE ON public.groupe_analytique FOR EACH ROW EXECUTE FUNCTION comptaproc.group_analytique_del(); -CREATE TRIGGER t_group_analytic_ins_upd BEFORE INSERT OR UPDATE ON public.groupe_analytique FOR EACH ROW EXECUTE FUNCTION comptaproc.group_analytic_ins_upd(); -CREATE TRIGGER t_jnt_fic_attr_ins AFTER INSERT ON public.jnt_fic_attr FOR EACH ROW EXECUTE FUNCTION comptaproc.jnt_fic_attr_ins(); -CREATE TRIGGER t_jrn_currency BEFORE INSERT OR UPDATE ON public.jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_currency(); -CREATE TRIGGER t_jrn_def_add_periode AFTER INSERT ON public.jrn_def FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_def_add(); -CREATE TRIGGER t_jrn_def_delete BEFORE DELETE ON public.jrn_def FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_def_delete(); -CREATE TRIGGER t_jrn_del BEFORE DELETE ON public.jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_del(); -CREATE TRIGGER t_jrnx_del BEFORE DELETE ON public.jrnx FOR EACH ROW EXECUTE FUNCTION comptaproc.jrnx_del(); -CREATE TRIGGER t_jrnx_ins BEFORE INSERT ON public.jrnx FOR EACH ROW EXECUTE FUNCTION comptaproc.jrnx_ins(); -CREATE TRIGGER t_letter_del AFTER DELETE ON public.jrnx FOR EACH ROW EXECUTE FUNCTION comptaproc.jrnx_letter_del(); -CREATE TRIGGER t_plan_analytique_ins_upd BEFORE INSERT OR UPDATE ON public.plan_analytique FOR EACH ROW EXECUTE FUNCTION comptaproc.plan_analytic_ins_upd(); -CREATE TRIGGER t_poste_analytique_ins_upd BEFORE INSERT OR UPDATE ON public.poste_analytique FOR EACH ROW EXECUTE FUNCTION comptaproc.poste_analytique_ins_upd(); -CREATE TRIGGER t_remove_script_tag BEFORE INSERT OR UPDATE ON public.action_gestion_comment FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_remove_script_tag(); -CREATE TRIGGER t_tmp_pcm_alphanum_ins_upd BEFORE INSERT OR UPDATE ON public.tmp_pcmn FOR EACH ROW EXECUTE FUNCTION comptaproc.tmp_pcmn_alphanum_ins_upd(); -CREATE TRIGGER t_tmp_pcmn_ins BEFORE INSERT ON public.tmp_pcmn FOR EACH ROW EXECUTE FUNCTION comptaproc.tmp_pcmn_ins(); -CREATE TRIGGER todo_list_ins_upd BEFORE INSERT OR UPDATE ON public.todo_list FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_todo_list_ins_upd(); -CREATE TRIGGER todo_list_shared_ins_upd BEFORE INSERT OR UPDATE ON public.todo_list_shared FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_todo_list_shared_ins_upd(); -CREATE TRIGGER trg_action_gestion_related BEFORE INSERT OR UPDATE ON public.action_gestion_related FOR EACH ROW EXECUTE FUNCTION comptaproc.action_gestion_related_ins_up(); -CREATE TRIGGER trg_category_card_before_delete BEFORE DELETE ON public.fiche_def FOR EACH ROW EXECUTE FUNCTION comptaproc.category_card_before_delete(); -CREATE TRIGGER trg_extension_ins_upd BEFORE INSERT OR UPDATE ON public.extension FOR EACH ROW EXECUTE FUNCTION comptaproc.extension_ins_upd(); -CREATE TRIGGER trg_set_tech_user BEFORE INSERT OR UPDATE ON public.operation_exercice FOR EACH ROW EXECUTE FUNCTION comptaproc.set_tech_user(); -CREATE TRIGGER trigger_document_type_i AFTER INSERT ON public.document_type FOR EACH ROW EXECUTE FUNCTION comptaproc.t_document_type_insert(); -CREATE TRIGGER trigger_jrn_def_sequence_i AFTER INSERT ON public.jrn_def FOR EACH ROW EXECUTE FUNCTION comptaproc.t_jrn_def_sequence(); -CREATE TRIGGER trigger_parameter_extra_format_code_biu BEFORE INSERT OR UPDATE ON public.parameter_extra FOR EACH ROW EXECUTE FUNCTION comptaproc.t_parameter_extra_code(); -CREATE TRIGGER user_sec_act_ins_upd BEFORE INSERT OR UPDATE ON public.user_sec_act FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_user_sec_act_ins_upd(); -CREATE TRIGGER user_sec_jrn_after_ins_upd BEFORE INSERT OR UPDATE ON public.user_sec_jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_user_sec_jrn_ins_upd(); -COMMENT ON CONSTRAINT uniq_user_ledger ON public.user_sec_jrn IS 'Create an unique combination user / ledger'; -COMMENT ON TRIGGER action_gestion_t_insert_update ON public.action_gestion IS 'Truncate the column ag_title to 70 char'; -COMMENT ON TRIGGER profile_user_ins_upd ON public.profile_user IS 'Force the column user_name to lowercase'; -COMMENT ON TRIGGER t_jrnx_ins ON public.jrnx IS 'check that the qcode used by the card exists and format it : uppercase and trim the space'; -COMMENT ON TRIGGER t_letter_del ON public.jrnx IS 'Delete the lettering for this row'; -COMMENT ON TRIGGER todo_list_ins_upd ON public.todo_list IS 'Force the column use_login to lowercase'; -COMMENT ON TRIGGER todo_list_shared_ins_upd ON public.todo_list_shared IS 'Force the column ua_login to lowercase'; -COMMENT ON TRIGGER user_sec_act_ins_upd ON public.user_sec_act IS 'Force the column ua_login to lowercase'; -COMMENT ON TRIGGER user_sec_jrn_after_ins_upd ON public.user_sec_jrn IS 'Force the column uj_login to lowercase'; + + + diff --git a/include/sql/mod1/make-sql b/include/sql/mod1/make-sql index b5af61be6..8df74df19 100755 --- a/include/sql/mod1/make-sql +++ b/include/sql/mod1/make-sql @@ -12,8 +12,8 @@ psql -X $TEMPLATE -c "delete from user_local_pref" pg_dump -O -U dany -s $TEMPLATE|grep -v "COMMENT ON SCHEMA public IS 'Standard public schema';" |sed "/^--/d" > schema.sql sed -i -e "/COMMENT ON EXTENSION/d" schema.sql sed -i -e "/CREATE EXTENSION/d" schema.sql - -echo "set search_path = public,comptaproc,pg_catalog ;" > data.sql -pg_dump -O -U dany --data-only --column-inserts -O ${TEMPLATE}|sed "/^--/d" | sed -e "/SET search_path/d" >> data.sql +sed -ne '0,/ADD CONSTRAINT/p' schema.sql > tmpSchema.sql +sed -ne '/ADD CONSTRAINT/,$p' schema.sql |sed -e '1d' > constraint.sql +cp tmpSchema.sql schema.sql diff --git a/include/sql/mod1/schema.sql b/include/sql/mod1/schema.sql index fbb43b7b4..cc14d6d48 100644 --- a/include/sql/mod1/schema.sql +++ b/include/sql/mod1/schema.sql @@ -7408,1565 +7408,3 @@ ALTER TABLE ONLY public.user_sec_action_profile ALTER COLUMN ua_id SET DEFAULT n ALTER TABLE ONLY public.acc_other_tax ADD CONSTRAINT acc_other_tax_pk PRIMARY KEY (ac_id); - - - -ALTER TABLE ONLY public.action_comment_document - ADD CONSTRAINT action_comment_document_pkey PRIMARY KEY (acd_id); - - - -ALTER TABLE ONLY public.action_comment_document - ADD CONSTRAINT action_comment_document_un UNIQUE (document_id, action_gestion_comment_id); - - - -ALTER TABLE ONLY public.action_gestion_operation - ADD CONSTRAINT action_comment_operation_pkey PRIMARY KEY (ago_id); - - - -ALTER TABLE ONLY public.action_detail - ADD CONSTRAINT action_detail_pkey PRIMARY KEY (ad_id); - - - -ALTER TABLE ONLY public.action_gestion_comment - ADD CONSTRAINT action_gestion_comment_pkey PRIMARY KEY (agc_id); - - - -ALTER TABLE ONLY public.action_gestion - ADD CONSTRAINT action_gestion_pkey PRIMARY KEY (ag_id); - - - -ALTER TABLE ONLY public.action_gestion_related - ADD CONSTRAINT action_gestion_related_pkey PRIMARY KEY (aga_id); - - - -ALTER TABLE ONLY public.action_person_option - ADD CONSTRAINT action_person_option_pk PRIMARY KEY (ap_id); - - - -ALTER TABLE ONLY public.action_person - ADD CONSTRAINT action_person_pkey PRIMARY KEY (ap_id); - - - -ALTER TABLE ONLY public.action - ADD CONSTRAINT action_pkey PRIMARY KEY (ac_id); - - - -ALTER TABLE ONLY public.action_tags - ADD CONSTRAINT action_tags_pkey PRIMARY KEY (at_id); - - - -ALTER TABLE ONLY public.attr_def - ADD CONSTRAINT attr_def_pkey PRIMARY KEY (ad_id); - - - -ALTER TABLE ONLY public.bilan - ADD CONSTRAINT bilan_b_name_key UNIQUE (b_name); - - - -ALTER TABLE ONLY public.bilan - ADD CONSTRAINT bilan_pkey PRIMARY KEY (b_id); - - - -ALTER TABLE ONLY public.bookmark - ADD CONSTRAINT bookmark_pkey PRIMARY KEY (b_id); - - - -ALTER TABLE ONLY public.centralized - ADD CONSTRAINT centralized_pkey PRIMARY KEY (c_id); - - - -ALTER TABLE ONLY public.contact_option_ref - ADD CONSTRAINT contact_option_ref_pk PRIMARY KEY (cor_id); - - - -ALTER TABLE ONLY public.currency_history - ADD CONSTRAINT currency_history_pk PRIMARY KEY (id); - - - -ALTER TABLE ONLY public.currency - ADD CONSTRAINT currency_pk PRIMARY KEY (id); - - - -ALTER TABLE ONLY public.currency - ADD CONSTRAINT currency_un UNIQUE (cr_code_iso); - - - -ALTER TABLE ONLY public.del_action - ADD CONSTRAINT del_action_pkey PRIMARY KEY (del_id); - - - -ALTER TABLE ONLY public.del_jrn - ADD CONSTRAINT dj_id PRIMARY KEY (dj_id); - - - -ALTER TABLE ONLY public.del_jrnx - ADD CONSTRAINT djx_id PRIMARY KEY (djx_id); - - - -ALTER TABLE ONLY public.document_component - ADD CONSTRAINT document_component_pk PRIMARY KEY (dc_id); - - - -ALTER TABLE ONLY public.document_component - ADD CONSTRAINT document_component_un UNIQUE (dc_code); - - - -ALTER TABLE ONLY public.document_modele - ADD CONSTRAINT document_modele_pkey PRIMARY KEY (md_id); - - - -ALTER TABLE ONLY public.document_option - ADD CONSTRAINT document_option_ref_pk PRIMARY KEY (do_id); - - - -ALTER TABLE ONLY public.document_option - ADD CONSTRAINT document_option_un UNIQUE (do_code, document_type_id); - - - -ALTER TABLE ONLY public.document - ADD CONSTRAINT document_pkey PRIMARY KEY (d_id); - - - -ALTER TABLE ONLY public.document_state - ADD CONSTRAINT document_state_pkey PRIMARY KEY (s_id); - - - -ALTER TABLE ONLY public.document_type - ADD CONSTRAINT document_type_pkey PRIMARY KEY (dt_id); - - - -ALTER TABLE ONLY public.fiche_def - ADD CONSTRAINT fiche_def_pkey PRIMARY KEY (fd_id); - - - -ALTER TABLE ONLY public.fiche_def_ref - ADD CONSTRAINT fiche_def_ref_pkey PRIMARY KEY (frd_id); - - - -ALTER TABLE ONLY public.fiche - ADD CONSTRAINT fiche_pkey PRIMARY KEY (f_id); - - - -ALTER TABLE ONLY public.forecast_category - ADD CONSTRAINT forecast_cat_pk PRIMARY KEY (fc_id); - - - -ALTER TABLE ONLY public.forecast_item - ADD CONSTRAINT forecast_item_pkey PRIMARY KEY (fi_id); - - - -ALTER TABLE ONLY public.forecast - ADD CONSTRAINT forecast_pk PRIMARY KEY (f_id); - - - -ALTER TABLE ONLY public.form_detail - ADD CONSTRAINT form_pkey PRIMARY KEY (fo_id); - - - -ALTER TABLE ONLY public.form_definition - ADD CONSTRAINT formdef_pkey PRIMARY KEY (fr_id); - - - -ALTER TABLE ONLY public.attr_min - ADD CONSTRAINT frd_ad_attr_min_pk PRIMARY KEY (frd_id, ad_id); - - - -ALTER TABLE ONLY public.operation_analytique - ADD CONSTRAINT historique_analytique_pkey PRIMARY KEY (oa_id); - - - -ALTER TABLE ONLY public.tmp_pcmn - ADD CONSTRAINT id_ux UNIQUE (id); - - - -ALTER TABLE ONLY public.extension - ADD CONSTRAINT idx_ex_code UNIQUE (ex_code); - - - -ALTER TABLE ONLY public.info_def - ADD CONSTRAINT info_def_pkey PRIMARY KEY (id_type); - - - -ALTER TABLE ONLY public.jnt_document_option_contact - ADD CONSTRAINT jnt_document_option_contact_pkey PRIMARY KEY (jdoc_id); - - - -ALTER TABLE ONLY public.jnt_document_option_contact - ADD CONSTRAINT jnt_document_option_contact_un UNIQUE (document_type_id, contact_option_ref_id); - - - -ALTER TABLE ONLY public.fiche_detail - ADD CONSTRAINT jnt_fic_att_value_pkey PRIMARY KEY (jft_id); - - - -ALTER TABLE ONLY public.jnt_letter - ADD CONSTRAINT jnt_letter_pk PRIMARY KEY (jl_id); - - - -ALTER TABLE ONLY public.jnt_tag_group_tag - ADD CONSTRAINT jnt_tag_group_tag_pkey PRIMARY KEY (jt_id); - - - -ALTER TABLE ONLY public.jnt_tag_group_tag - ADD CONSTRAINT jnt_tag_group_tag_un UNIQUE (tag_id, tag_group_id); - - - -ALTER TABLE ONLY public.jrn_def - ADD CONSTRAINT jrn_def_jrn_def_name_key UNIQUE (jrn_def_name); - - - -ALTER TABLE ONLY public.jrn_def - ADD CONSTRAINT jrn_def_pkey PRIMARY KEY (jrn_def_id); - - - -ALTER TABLE ONLY public.jrn_info - ADD CONSTRAINT jrn_info_pkey PRIMARY KEY (ji_id); - - - -ALTER TABLE ONLY public.jrn_periode - ADD CONSTRAINT jrn_periode_periode_ledger UNIQUE (jrn_def_id, p_id); - - - -ALTER TABLE ONLY public.jrn_periode - ADD CONSTRAINT jrn_periode_pk PRIMARY KEY (id); - - - -ALTER TABLE ONLY public.jrn - ADD CONSTRAINT jrn_pkey PRIMARY KEY (jr_id); - - - -ALTER TABLE ONLY public.jrn_rapt - ADD CONSTRAINT jrn_rapt_pkey PRIMARY KEY (jra_id); - - - -ALTER TABLE ONLY public.jrn_tax - ADD CONSTRAINT jrn_tax_pk PRIMARY KEY (jt_id); - - - -ALTER TABLE ONLY public.jrn_type - ADD CONSTRAINT jrn_type_pkey PRIMARY KEY (jrn_type_id); - - - -ALTER TABLE ONLY public.jrn_note - ADD CONSTRAINT jrnx_note_pkey PRIMARY KEY (n_id); - - - -ALTER TABLE ONLY public.jrnx - ADD CONSTRAINT jrnx_pkey PRIMARY KEY (j_id); - - - -ALTER TABLE ONLY public.key_distribution_activity - ADD CONSTRAINT key_distribution_activity_pkey PRIMARY KEY (ka_id); - - - -ALTER TABLE ONLY public.key_distribution_detail - ADD CONSTRAINT key_distribution_detail_pkey PRIMARY KEY (ke_id); - - - -ALTER TABLE ONLY public.key_distribution_ledger - ADD CONSTRAINT key_distribution_ledger_pkey PRIMARY KEY (kl_id); - - - -ALTER TABLE ONLY public.key_distribution - ADD CONSTRAINT key_distribution_pkey PRIMARY KEY (kd_id); - - - -ALTER TABLE ONLY public.letter_cred - ADD CONSTRAINT letter_cred_j_id_key UNIQUE (j_id); - - - -ALTER TABLE ONLY public.letter_cred - ADD CONSTRAINT letter_cred_pk PRIMARY KEY (lc_id); - - - -ALTER TABLE ONLY public.letter_deb - ADD CONSTRAINT letter_deb_j_id_key UNIQUE (j_id); - - - -ALTER TABLE ONLY public.letter_deb - ADD CONSTRAINT letter_deb_pk PRIMARY KEY (ld_id); - - - -ALTER TABLE ONLY public.link_action_type - ADD CONSTRAINT link_action_type_pkey PRIMARY KEY (l_id); - - - -ALTER TABLE ONLY public.menu_default - ADD CONSTRAINT menu_default_md_code_key UNIQUE (md_code); - - - -ALTER TABLE ONLY public.menu_default - ADD CONSTRAINT menu_default_pkey PRIMARY KEY (md_id); - - - -ALTER TABLE ONLY public.menu_ref - ADD CONSTRAINT menu_ref_pkey PRIMARY KEY (me_code); - - - -ALTER TABLE ONLY public.payment_method - ADD CONSTRAINT mod_payment_pkey PRIMARY KEY (mp_id); - - - -ALTER TABLE ONLY public.op_predef - ADD CONSTRAINT op_def_op_name_key UNIQUE (od_name, jrn_def_id); - - - -ALTER TABLE ONLY public.op_predef - ADD CONSTRAINT op_def_pkey PRIMARY KEY (od_id); - - - -ALTER TABLE ONLY public.op_predef_detail - ADD CONSTRAINT op_predef_detail_pkey PRIMARY KEY (opd_id); - - - -ALTER TABLE ONLY public.operation_currency - ADD CONSTRAINT operation_currency_pk PRIMARY KEY (id); - - - -ALTER TABLE ONLY public.operation_exercice_detail - ADD CONSTRAINT operation_exercice_detail_pkey PRIMARY KEY (oed_id); - - - -ALTER TABLE ONLY public.operation_exercice - ADD CONSTRAINT operation_exercice_pkey PRIMARY KEY (oe_id); - - - -ALTER TABLE ONLY public.operation_tag - ADD CONSTRAINT operation_tag_pkey PRIMARY KEY (opt_id); - - - -ALTER TABLE ONLY public.parameter_extra - ADD CONSTRAINT parameter_extra_pkey PRIMARY KEY (id); - - - -ALTER TABLE ONLY public.parameter - ADD CONSTRAINT parameter_pkey PRIMARY KEY (pr_id); - - - -ALTER TABLE ONLY public.parm_appearance - ADD CONSTRAINT parm_appearance_pkey PRIMARY KEY (a_code); - - - -ALTER TABLE ONLY public.parm_code - ADD CONSTRAINT parm_code_pkey PRIMARY KEY (p_code); - - - -ALTER TABLE ONLY public.parm_money - ADD CONSTRAINT parm_money_pkey PRIMARY KEY (pm_code); - - - -ALTER TABLE ONLY public.parm_periode - ADD CONSTRAINT parm_periode_pkey PRIMARY KEY (p_id); - - - -ALTER TABLE ONLY public.parm_poste - ADD CONSTRAINT parm_poste_pkey PRIMARY KEY (p_value); - - - -ALTER TABLE ONLY public.parameter_extra - ADD CONSTRAINT pe_code_ux UNIQUE (pe_code); - - - -ALTER TABLE ONLY public.extension - ADD CONSTRAINT pk_extension PRIMARY KEY (ex_id); - - - -ALTER TABLE ONLY public.groupe_analytique - ADD CONSTRAINT pk_ga_id PRIMARY KEY (ga_id); - - - -ALTER TABLE ONLY public.jnt_fic_attr - ADD CONSTRAINT pk_jnt_fic_attr PRIMARY KEY (jnt_id); - - - -ALTER TABLE ONLY public.user_local_pref - ADD CONSTRAINT pk_user_local_pref PRIMARY KEY (user_id, parameter_type); - - - -ALTER TABLE ONLY public.plan_analytique - ADD CONSTRAINT plan_analytique_pa_name_key UNIQUE (pa_name); - - - -ALTER TABLE ONLY public.plan_analytique - ADD CONSTRAINT plan_analytique_pkey PRIMARY KEY (pa_id); - - - -ALTER TABLE ONLY public.poste_analytique - ADD CONSTRAINT poste_analytique_pkey PRIMARY KEY (po_id); - - - -ALTER TABLE ONLY public.profile_menu - ADD CONSTRAINT profile_menu_pkey PRIMARY KEY (pm_id); - - - -ALTER TABLE ONLY public.profile_menu_type - ADD CONSTRAINT profile_menu_type_pkey PRIMARY KEY (pm_type); - - - -ALTER TABLE ONLY public.profile_mobile - ADD CONSTRAINT profile_mobile_code_uq UNIQUE (p_id, me_code); - - - -ALTER TABLE ONLY public.profile_mobile - ADD CONSTRAINT profile_mobile_pkey PRIMARY KEY (pmo_id); - - - -ALTER TABLE ONLY public.profile - ADD CONSTRAINT profile_pkey PRIMARY KEY (p_id); - - - -ALTER TABLE ONLY public.profile_sec_repository - ADD CONSTRAINT profile_sec_repository_pkey PRIMARY KEY (ur_id); - - - -ALTER TABLE ONLY public.profile_sec_repository - ADD CONSTRAINT profile_sec_repository_r_id_p_id_u UNIQUE (r_id, p_id); - - - -ALTER TABLE ONLY public.profile_user - ADD CONSTRAINT profile_user_pkey PRIMARY KEY (pu_id); - - - -ALTER TABLE ONLY public.profile_user - ADD CONSTRAINT profile_user_user_name_key UNIQUE (user_name, p_id); - - - -ALTER TABLE ONLY public.quant_purchase - ADD CONSTRAINT qp_id_pk PRIMARY KEY (qp_id); - - - -ALTER TABLE ONLY public.quant_sold - ADD CONSTRAINT qs_id_pk PRIMARY KEY (qs_id); - - - -ALTER TABLE ONLY public.quant_fin - ADD CONSTRAINT quant_fin_pk PRIMARY KEY (qf_id); - - - -ALTER TABLE ONLY public.stock_change - ADD CONSTRAINT stock_change_pkey PRIMARY KEY (c_id); - - - -ALTER TABLE ONLY public.stock_goods - ADD CONSTRAINT stock_goods_pkey PRIMARY KEY (sg_id); - - - -ALTER TABLE ONLY public.stock_repository - ADD CONSTRAINT stock_repository_pkey PRIMARY KEY (r_id); - - - -ALTER TABLE ONLY public.tag_group - ADD CONSTRAINT tag_group_pk PRIMARY KEY (tg_id); - - - -ALTER TABLE ONLY public.operation_tag - ADD CONSTRAINT tag_operation_uq UNIQUE (jrn_id, tag_id); - - - -ALTER TABLE ONLY public.tags - ADD CONSTRAINT tags_pkey PRIMARY KEY (t_id); - - - -ALTER TABLE ONLY public.tmp_pcmn - ADD CONSTRAINT tmp_pcmn_pkey PRIMARY KEY (pcm_val); - - - -ALTER TABLE ONLY public.tmp_stockgood_detail - ADD CONSTRAINT tmp_stockgood_detail_pkey PRIMARY KEY (d_id); - - - -ALTER TABLE ONLY public.tmp_stockgood - ADD CONSTRAINT tmp_stockgood_pkey PRIMARY KEY (s_id); - - - -ALTER TABLE ONLY public.todo_list - ADD CONSTRAINT todo_list_pkey PRIMARY KEY (tl_id); - - - -ALTER TABLE ONLY public.todo_list_shared - ADD CONSTRAINT todo_list_shared_pkey PRIMARY KEY (id); - - - -ALTER TABLE ONLY public.tool_uos - ADD CONSTRAINT tool_uos_pkey PRIMARY KEY (uos_value); - - - -ALTER TABLE ONLY public.tva_rate - ADD CONSTRAINT tva_code_unique UNIQUE (tva_code); - - - -ALTER TABLE ONLY public.tva_rate - ADD CONSTRAINT tva_id_pk PRIMARY KEY (tva_id); - - - -ALTER TABLE ONLY public.user_sec_jrn - ADD CONSTRAINT uniq_user_ledger UNIQUE (uj_login, uj_jrn_id); - - - -COMMENT ON CONSTRAINT uniq_user_ledger ON public.user_sec_jrn IS 'Create an unique combination user / ledger'; - - - -ALTER TABLE ONLY public.todo_list_shared - ADD CONSTRAINT unique_todo_list_id_login UNIQUE (todo_list_id, use_login); - - - -ALTER TABLE ONLY public.user_active_security - ADD CONSTRAINT user_active_security_pk PRIMARY KEY (id); - - - -ALTER TABLE ONLY public.user_filter - ADD CONSTRAINT user_filter_pkey PRIMARY KEY (id); - - - -ALTER TABLE ONLY public.user_sec_act - ADD CONSTRAINT user_sec_act_pkey PRIMARY KEY (ua_id); - - - -ALTER TABLE ONLY public.user_sec_action_profile - ADD CONSTRAINT user_sec_action_profile_p_id_p_granted_u UNIQUE (p_id, p_granted); - - - -ALTER TABLE ONLY public.user_sec_action_profile - ADD CONSTRAINT user_sec_action_profile_pkey PRIMARY KEY (ua_id); - - - -ALTER TABLE ONLY public.user_sec_jrn - ADD CONSTRAINT user_sec_jrn_pkey PRIMARY KEY (uj_id); - - - -ALTER TABLE ONLY public.action_gestion_related - ADD CONSTRAINT ux_aga_least_aga_greatest UNIQUE (aga_least, aga_greatest); - - - -ALTER TABLE ONLY public.jrn - ADD CONSTRAINT ux_internal UNIQUE (jr_internal); - - - -ALTER TABLE ONLY public.version - ADD CONSTRAINT version_pkey PRIMARY KEY (val); - - - -CREATE UNIQUE INDEX fd_id_ad_id_x ON public.jnt_fic_attr USING btree (fd_id, ad_id); - - - -CREATE INDEX fiche_detail_attr_ix ON public.fiche_detail USING btree (ad_id); - - - -CREATE UNIQUE INDEX fiche_detail_f_id_ad_id ON public.fiche_detail USING btree (f_id, ad_id); - - - -CREATE INDEX fk_action_person_action_gestion ON public.action_person USING btree (ag_id); - - - -CREATE INDEX fk_action_person_fiche ON public.action_person USING btree (f_id); - - - -CREATE INDEX fk_stock_good_repository_r_id ON public.stock_goods USING btree (r_id); - - - -CREATE INDEX fk_stock_goods_f_id ON public.stock_goods USING btree (f_id); - - - -CREATE INDEX fk_stock_goods_j_id ON public.stock_goods USING btree (j_id); - - - -CREATE INDEX fki_f_end_date ON public.forecast USING btree (f_end_date); - - - -CREATE INDEX fki_f_start_date ON public.forecast USING btree (f_start_date); - - - -CREATE INDEX fki_jrn_jr_grpt_id ON public.jrn USING btree (jr_grpt_id); - - - -CREATE INDEX fki_jrnx_f_id ON public.jrnx USING btree (f_id); - - - -CREATE INDEX fki_jrnx_j_grpt ON public.jrnx USING btree (j_grpt); - - - -CREATE INDEX fki_profile_menu_me_code ON public.profile_menu USING btree (me_code); - - - -CREATE INDEX fki_profile_menu_profile ON public.profile_menu USING btree (p_id); - - - -CREATE INDEX fki_profile_menu_type_fkey ON public.profile_menu USING btree (p_type_display); - - - -CREATE INDEX idx_qs_internal ON public.quant_sold USING btree (qs_internal); - - - -CREATE INDEX jnt_fic_att_value_fd_id_idx ON public.fiche_detail USING btree (f_id); - - - -CREATE INDEX jnt_fic_attr_fd_id_idx ON public.jnt_fic_attr USING btree (fd_id); - - - -CREATE INDEX jrnx_j_qcode_ix ON public.jrnx USING btree (j_qcode); - - - -CREATE UNIQUE INDEX k_ag_ref ON public.action_gestion USING btree (ag_ref); - - - -CREATE INDEX link_action_type_fki ON public.action_gestion_related USING btree (aga_type); - - - -CREATE UNIQUE INDEX qcode_idx ON public.fiche_detail USING btree (ad_value) WHERE (ad_id = 23); - - - -CREATE UNIQUE INDEX qf_jr_id ON public.quant_fin USING btree (jr_id); - - - -CREATE UNIQUE INDEX qp_j_id ON public.quant_purchase USING btree (j_id); - - - -CREATE UNIQUE INDEX qs_j_id ON public.quant_sold USING btree (j_id); - - - -CREATE INDEX quant_purchase_jrn_fki ON public.quant_purchase USING btree (qp_internal); - - - -CREATE INDEX quant_sold_jrn_fki ON public.quant_sold USING btree (qs_internal); - - - -CREATE UNIQUE INDEX uj_login_uj_jrn_id ON public.user_sec_jrn USING btree (uj_login, uj_jrn_id); - - - -CREATE UNIQUE INDEX ux_po_name ON public.poste_analytique USING btree (po_name); - - - -CREATE UNIQUE INDEX x_jrn_jr_id ON public.jrn USING btree (jr_id); - - - -CREATE INDEX x_mt ON public.jrn USING btree (jr_mt); - - - -CREATE UNIQUE INDEX x_periode ON public.parm_periode USING btree (p_start, p_end); - - - -CREATE INDEX x_poste ON public.jrnx USING btree (j_poste); - - - -CREATE TRIGGER action_gestion_t_insert_update BEFORE INSERT OR UPDATE ON public.action_gestion FOR EACH ROW EXECUTE FUNCTION comptaproc.action_gestion_ins_upd(); - - - -COMMENT ON TRIGGER action_gestion_t_insert_update ON public.action_gestion IS 'Truncate the column ag_title to 70 char'; - - - -CREATE TRIGGER document_modele_validate BEFORE INSERT OR UPDATE ON public.document_modele FOR EACH ROW EXECUTE FUNCTION comptaproc.t_document_modele_validate(); - - - -CREATE TRIGGER document_validate BEFORE INSERT OR UPDATE ON public.document FOR EACH ROW EXECUTE FUNCTION comptaproc.t_document_validate(); - - - -CREATE TRIGGER fiche_def_ins_upd BEFORE INSERT OR UPDATE ON public.fiche_def FOR EACH ROW EXECUTE FUNCTION comptaproc.fiche_def_ins_upd(); - - - -CREATE TRIGGER fiche_detail_check_qcode_trg BEFORE INSERT OR UPDATE ON public.fiche_detail FOR EACH ROW EXECUTE FUNCTION comptaproc.fiche_detail_check_qcode(); - - - -CREATE TRIGGER fiche_detail_check_trg BEFORE INSERT OR UPDATE ON public.fiche_detail FOR EACH ROW EXECUTE FUNCTION comptaproc.fiche_detail_check(); - - - -CREATE TRIGGER info_def_ins_upd_t BEFORE INSERT OR UPDATE ON public.info_def FOR EACH ROW EXECUTE FUNCTION comptaproc.info_def_ins_upd(); - - - -CREATE TRIGGER jrn_def_description_ins_upd BEFORE INSERT OR UPDATE ON public.jrn_def FOR EACH ROW EXECUTE FUNCTION comptaproc.t_jrn_def_description(); - - - -CREATE TRIGGER opd_limit_description BEFORE INSERT OR UPDATE ON public.op_predef FOR EACH ROW EXECUTE FUNCTION comptaproc.opd_limit_description(); - - - -CREATE TRIGGER parm_periode_check_periode_trg BEFORE INSERT OR UPDATE ON public.parm_periode FOR EACH ROW EXECUTE FUNCTION comptaproc.check_periode(); - - - -CREATE TRIGGER profile_user_ins_upd BEFORE INSERT OR UPDATE ON public.profile_user FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_profile_user_ins_upd(); - - - -COMMENT ON TRIGGER profile_user_ins_upd ON public.profile_user IS 'Force the column user_name to lowercase'; - - - -CREATE TRIGGER quant_sold_ins_upd_tr AFTER INSERT OR UPDATE ON public.quant_purchase FOR EACH ROW EXECUTE FUNCTION comptaproc.quant_purchase_ins_upd(); - - - -CREATE TRIGGER quant_sold_ins_upd_tr AFTER INSERT OR UPDATE ON public.quant_sold FOR EACH ROW EXECUTE FUNCTION comptaproc.quant_sold_ins_upd(); - - - -CREATE TRIGGER remove_action_gestion AFTER DELETE ON public.fiche FOR EACH ROW EXECUTE FUNCTION comptaproc.card_after_delete(); - - - -CREATE TRIGGER t_check_balance AFTER INSERT OR UPDATE ON public.jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.proc_check_balance(); - - - -CREATE TRIGGER t_check_jrn BEFORE INSERT OR DELETE OR UPDATE ON public.jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_check_periode(); - - - -CREATE TRIGGER t_code BEFORE INSERT OR UPDATE ON public.document_component FOR EACH ROW EXECUTE FUNCTION comptaproc.four_upper_letter(); - - - -CREATE TRIGGER t_group_analytic_del BEFORE DELETE ON public.groupe_analytique FOR EACH ROW EXECUTE FUNCTION comptaproc.group_analytique_del(); - - - -CREATE TRIGGER t_group_analytic_ins_upd BEFORE INSERT OR UPDATE ON public.groupe_analytique FOR EACH ROW EXECUTE FUNCTION comptaproc.group_analytic_ins_upd(); - - - -CREATE TRIGGER t_jnt_fic_attr_ins AFTER INSERT ON public.jnt_fic_attr FOR EACH ROW EXECUTE FUNCTION comptaproc.jnt_fic_attr_ins(); - - - -CREATE TRIGGER t_jrn_currency BEFORE INSERT OR UPDATE ON public.jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_currency(); - - - -CREATE TRIGGER t_jrn_def_add_periode AFTER INSERT ON public.jrn_def FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_def_add(); - - - -CREATE TRIGGER t_jrn_def_delete BEFORE DELETE ON public.jrn_def FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_def_delete(); - - - -CREATE TRIGGER t_jrn_del BEFORE DELETE ON public.jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.jrn_del(); - - - -CREATE TRIGGER t_jrnx_del BEFORE DELETE ON public.jrnx FOR EACH ROW EXECUTE FUNCTION comptaproc.jrnx_del(); - - - -CREATE TRIGGER t_jrnx_ins BEFORE INSERT ON public.jrnx FOR EACH ROW EXECUTE FUNCTION comptaproc.jrnx_ins(); - - - -COMMENT ON TRIGGER t_jrnx_ins ON public.jrnx IS 'check that the qcode used by the card exists and format it : uppercase and trim the space'; - - - -CREATE TRIGGER t_letter_del AFTER DELETE ON public.jrnx FOR EACH ROW EXECUTE FUNCTION comptaproc.jrnx_letter_del(); - - - -COMMENT ON TRIGGER t_letter_del ON public.jrnx IS 'Delete the lettering for this row'; - - - -CREATE TRIGGER t_plan_analytique_ins_upd BEFORE INSERT OR UPDATE ON public.plan_analytique FOR EACH ROW EXECUTE FUNCTION comptaproc.plan_analytic_ins_upd(); - - - -CREATE TRIGGER t_poste_analytique_ins_upd BEFORE INSERT OR UPDATE ON public.poste_analytique FOR EACH ROW EXECUTE FUNCTION comptaproc.poste_analytique_ins_upd(); - - - -CREATE TRIGGER t_remove_script_tag BEFORE INSERT OR UPDATE ON public.action_gestion_comment FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_remove_script_tag(); - - - -CREATE TRIGGER t_tmp_pcm_alphanum_ins_upd BEFORE INSERT OR UPDATE ON public.tmp_pcmn FOR EACH ROW EXECUTE FUNCTION comptaproc.tmp_pcmn_alphanum_ins_upd(); - - - -CREATE TRIGGER t_tmp_pcmn_ins BEFORE INSERT ON public.tmp_pcmn FOR EACH ROW EXECUTE FUNCTION comptaproc.tmp_pcmn_ins(); - - - -CREATE TRIGGER todo_list_ins_upd BEFORE INSERT OR UPDATE ON public.todo_list FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_todo_list_ins_upd(); - - - -COMMENT ON TRIGGER todo_list_ins_upd ON public.todo_list IS 'Force the column use_login to lowercase'; - - - -CREATE TRIGGER todo_list_shared_ins_upd BEFORE INSERT OR UPDATE ON public.todo_list_shared FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_todo_list_shared_ins_upd(); - - - -COMMENT ON TRIGGER todo_list_shared_ins_upd ON public.todo_list_shared IS 'Force the column ua_login to lowercase'; - - - -CREATE TRIGGER trg_action_gestion_related BEFORE INSERT OR UPDATE ON public.action_gestion_related FOR EACH ROW EXECUTE FUNCTION comptaproc.action_gestion_related_ins_up(); - - - -CREATE TRIGGER trg_category_card_before_delete BEFORE DELETE ON public.fiche_def FOR EACH ROW EXECUTE FUNCTION comptaproc.category_card_before_delete(); - - - -CREATE TRIGGER trg_extension_ins_upd BEFORE INSERT OR UPDATE ON public.extension FOR EACH ROW EXECUTE FUNCTION comptaproc.extension_ins_upd(); - - - -CREATE TRIGGER trg_set_tech_user BEFORE INSERT OR UPDATE ON public.operation_exercice FOR EACH ROW EXECUTE FUNCTION comptaproc.set_tech_user(); - - - -CREATE TRIGGER trigger_document_type_i AFTER INSERT ON public.document_type FOR EACH ROW EXECUTE FUNCTION comptaproc.t_document_type_insert(); - - - -CREATE TRIGGER trigger_jrn_def_sequence_i AFTER INSERT ON public.jrn_def FOR EACH ROW EXECUTE FUNCTION comptaproc.t_jrn_def_sequence(); - - - -CREATE TRIGGER trigger_parameter_extra_format_code_biu BEFORE INSERT OR UPDATE ON public.parameter_extra FOR EACH ROW EXECUTE FUNCTION comptaproc.t_parameter_extra_code(); - - - -CREATE TRIGGER user_sec_act_ins_upd BEFORE INSERT OR UPDATE ON public.user_sec_act FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_user_sec_act_ins_upd(); - - - -COMMENT ON TRIGGER user_sec_act_ins_upd ON public.user_sec_act IS 'Force the column ua_login to lowercase'; - - - -CREATE TRIGGER user_sec_jrn_after_ins_upd BEFORE INSERT OR UPDATE ON public.user_sec_jrn FOR EACH ROW EXECUTE FUNCTION comptaproc.trg_user_sec_jrn_ins_upd(); - - - -COMMENT ON TRIGGER user_sec_jrn_after_ins_upd ON public.user_sec_jrn IS 'Force the column uj_login to lowercase'; - - - -ALTER TABLE ONLY public.centralized - ADD CONSTRAINT "$1" FOREIGN KEY (c_jrn_def) REFERENCES public.jrn_def(jrn_def_id); - - - -ALTER TABLE ONLY public.user_sec_act - ADD CONSTRAINT "$1" FOREIGN KEY (ua_act_id) REFERENCES public.action(ac_id); - - - -ALTER TABLE ONLY public.fiche_def - ADD CONSTRAINT "$1" FOREIGN KEY (frd_id) REFERENCES public.fiche_def_ref(frd_id); - - - -ALTER TABLE ONLY public.attr_min - ADD CONSTRAINT "$1" FOREIGN KEY (frd_id) REFERENCES public.fiche_def_ref(frd_id); - - - -ALTER TABLE ONLY public.fiche - ADD CONSTRAINT "$1" FOREIGN KEY (fd_id) REFERENCES public.fiche_def(fd_id); - - - -ALTER TABLE ONLY public.fiche_detail - ADD CONSTRAINT "$1" FOREIGN KEY (f_id) REFERENCES public.fiche(f_id); - - - -ALTER TABLE ONLY public.jnt_fic_attr - ADD CONSTRAINT "$1" FOREIGN KEY (fd_id) REFERENCES public.fiche_def(fd_id); - - - -ALTER TABLE ONLY public.jrn - ADD CONSTRAINT "$1" FOREIGN KEY (jr_def_id) REFERENCES public.jrn_def(jrn_def_id); - - - -ALTER TABLE ONLY public.jrn_def - ADD CONSTRAINT "$1" FOREIGN KEY (jrn_def_type) REFERENCES public.jrn_type(jrn_type_id); - - - -ALTER TABLE ONLY public.jrnx - ADD CONSTRAINT "$2" FOREIGN KEY (j_jrn_def) REFERENCES public.jrn_def(jrn_def_id); - - - -ALTER TABLE ONLY public.attr_min - ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES public.attr_def(ad_id); - - - -ALTER TABLE ONLY public.action_comment_document - ADD CONSTRAINT action_comment_document_action_gestion_comment_id_fkey FOREIGN KEY (action_gestion_comment_id) REFERENCES public.action_gestion_comment(agc_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_comment_document - ADD CONSTRAINT action_comment_document_document_id_fkey FOREIGN KEY (document_id) REFERENCES public.document(d_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_gestion_operation - ADD CONSTRAINT action_comment_operation_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_gestion_operation - ADD CONSTRAINT action_comment_operation_jr_id_fkey FOREIGN KEY (jr_id) REFERENCES public.jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_detail - ADD CONSTRAINT action_detail_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_person - ADD CONSTRAINT action_gestion_ag_id_fk2 FOREIGN KEY (ag_id) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_gestion_comment - ADD CONSTRAINT action_gestion_comment_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_gestion_related - ADD CONSTRAINT action_gestion_related_aga_greatest_fkey FOREIGN KEY (aga_greatest) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_gestion_related - ADD CONSTRAINT action_gestion_related_aga_least_fkey FOREIGN KEY (aga_least) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_gestion_related - ADD CONSTRAINT action_gestion_related_aga_type_fkey FOREIGN KEY (aga_type) REFERENCES public.link_action_type(l_id); - - - -ALTER TABLE ONLY public.action_person - ADD CONSTRAINT action_person_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_person - ADD CONSTRAINT action_person_f_id_fkey FOREIGN KEY (f_id) REFERENCES public.fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_person_option - ADD CONSTRAINT action_person_option_fk FOREIGN KEY (action_person_id) REFERENCES public.action_person(ap_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_tags - ADD CONSTRAINT action_tags_ag_id_fkey FOREIGN KEY (ag_id) REFERENCES public.action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_tags - ADD CONSTRAINT action_tags_t_id_fkey FOREIGN KEY (t_id) REFERENCES public.tags(t_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_person_option - ADD CONSTRAINT contact_option_ref_fk FOREIGN KEY (contact_option_ref_id) REFERENCES public.contact_option_ref(cor_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.currency_history - ADD CONSTRAINT currency_history_currency_fk FOREIGN KEY (currency_id) REFERENCES public.currency(id) ON UPDATE CASCADE ON DELETE RESTRICT; - - - -ALTER TABLE ONLY public.document_modele - ADD CONSTRAINT document_modele_fk FOREIGN KEY (md_affect) REFERENCES public.document_component(dc_code) ON UPDATE CASCADE; - - - -ALTER TABLE ONLY public.document_option - ADD CONSTRAINT document_option_ref_fk FOREIGN KEY (document_type_id) REFERENCES public.document_type(dt_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.fiche_detail - ADD CONSTRAINT fiche_detail_attr_def_fk FOREIGN KEY (ad_id) REFERENCES public.attr_def(ad_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_person - ADD CONSTRAINT fiche_f_id_fk2 FOREIGN KEY (f_id) REFERENCES public.fiche(f_id); - - - -ALTER TABLE ONLY public.action_gestion - ADD CONSTRAINT fiche_f_id_fk3 FOREIGN KEY (f_id_dest) REFERENCES public.fiche(f_id); - - - -ALTER TABLE ONLY public.action_gestion - ADD CONSTRAINT fk_action_gestion_document_type FOREIGN KEY (ag_type) REFERENCES public.document_type(dt_id); - - - -ALTER TABLE ONLY public.quant_fin - ADD CONSTRAINT fk_card FOREIGN KEY (qf_bank) REFERENCES public.fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.quant_fin - ADD CONSTRAINT fk_card_other FOREIGN KEY (qf_other) REFERENCES public.fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.forecast_item - ADD CONSTRAINT fk_forecast FOREIGN KEY (fc_id) REFERENCES public.forecast_category(fc_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jrn_info - ADD CONSTRAINT fk_info_def FOREIGN KEY (id_type) REFERENCES public.info_def(id_type) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jrn_info - ADD CONSTRAINT fk_jrn FOREIGN KEY (jr_id) REFERENCES public.jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.quant_fin - ADD CONSTRAINT fk_jrn FOREIGN KEY (jr_id) REFERENCES public.jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.groupe_analytique - ADD CONSTRAINT fk_pa_id FOREIGN KEY (pa_id) REFERENCES public.plan_analytique(pa_id) ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jrnx - ADD CONSTRAINT fk_pcmn_val FOREIGN KEY (j_poste) REFERENCES public.tmp_pcmn(pcm_val); - - - -ALTER TABLE ONLY public.centralized - ADD CONSTRAINT fk_pcmn_val FOREIGN KEY (c_poste) REFERENCES public.tmp_pcmn(pcm_val); - - - -ALTER TABLE ONLY public.stock_goods - ADD CONSTRAINT fk_stock_good_f_id FOREIGN KEY (f_id) REFERENCES public.fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.todo_list_shared - ADD CONSTRAINT fk_todo_list_shared_todo_list FOREIGN KEY (todo_list_id) REFERENCES public.todo_list(tl_id); - - - -ALTER TABLE ONLY public.forecast_category - ADD CONSTRAINT forecast_child FOREIGN KEY (f_id) REFERENCES public.forecast(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.forecast - ADD CONSTRAINT forecast_f_end_date_fkey FOREIGN KEY (f_end_date) REFERENCES public.parm_periode(p_id) ON UPDATE SET NULL ON DELETE SET NULL; - - - -ALTER TABLE ONLY public.forecast - ADD CONSTRAINT forecast_f_start_date_fkey FOREIGN KEY (f_start_date) REFERENCES public.parm_periode(p_id) ON UPDATE SET NULL ON DELETE SET NULL; - - - -ALTER TABLE ONLY public.form_detail - ADD CONSTRAINT formdef_fk FOREIGN KEY (fo_fr_id) REFERENCES public.form_definition(fr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.letter_cred - ADD CONSTRAINT jnt_cred_fk FOREIGN KEY (jl_id) REFERENCES public.jnt_letter(jl_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.letter_deb - ADD CONSTRAINT jnt_deb_fk FOREIGN KEY (jl_id) REFERENCES public.jnt_letter(jl_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jnt_document_option_contact - ADD CONSTRAINT jnt_document_option_contact_contact_option_ref_id_fkey FOREIGN KEY (contact_option_ref_id) REFERENCES public.contact_option_ref(cor_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jnt_document_option_contact - ADD CONSTRAINT jnt_document_option_contact_document_type_id_fkey FOREIGN KEY (document_type_id) REFERENCES public.document_type(dt_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jnt_fic_attr - ADD CONSTRAINT jnt_fic_attr_attr_def_fk FOREIGN KEY (ad_id) REFERENCES public.attr_def(ad_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jnt_tag_group_tag - ADD CONSTRAINT jnt_tag_group_tag_fk FOREIGN KEY (tag_id) REFERENCES public.tags(t_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jnt_tag_group_tag - ADD CONSTRAINT jnt_tag_group_tag_fk_1 FOREIGN KEY (tag_group_id) REFERENCES public.tag_group(tg_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jrn - ADD CONSTRAINT jrn_currency_fk FOREIGN KEY (currency_id) REFERENCES public.currency(id) ON UPDATE RESTRICT ON DELETE RESTRICT; - - - -ALTER TABLE ONLY public.jrn_def - ADD CONSTRAINT jrn_def_currency_fk FOREIGN KEY (currency_id) REFERENCES public.currency(id); - - - -ALTER TABLE ONLY public.op_predef - ADD CONSTRAINT jrn_def_id_fk FOREIGN KEY (jrn_def_id) REFERENCES public.jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jrn_periode - ADD CONSTRAINT jrn_per_jrn_def_id FOREIGN KEY (jrn_def_id) REFERENCES public.jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jrn_periode - ADD CONSTRAINT jrn_periode_p_id FOREIGN KEY (p_id) REFERENCES public.parm_periode(p_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jrn_rapt - ADD CONSTRAINT jrn_rapt_jr_id_fkey FOREIGN KEY (jr_id) REFERENCES public.jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jrn_rapt - ADD CONSTRAINT jrn_rapt_jra_concerned_fkey FOREIGN KEY (jra_concerned) REFERENCES public.jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jrn_tax - ADD CONSTRAINT jrn_tax_acc_other_tax_fk FOREIGN KEY (ac_id) REFERENCES public.acc_other_tax(ac_id); - - - -ALTER TABLE ONLY public.jrn_tax - ADD CONSTRAINT jrn_tax_fk FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jrnx - ADD CONSTRAINT jrnx_f_id_fkey FOREIGN KEY (f_id) REFERENCES public.fiche(f_id) ON UPDATE CASCADE; - - - -ALTER TABLE ONLY public.quant_fin - ADD CONSTRAINT jrnx_j_id_fk FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.jrn_note - ADD CONSTRAINT jrnx_note_j_id_fkey FOREIGN KEY (jr_id) REFERENCES public.jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.key_distribution_activity - ADD CONSTRAINT key_distribution_activity_ke_id_fkey FOREIGN KEY (ke_id) REFERENCES public.key_distribution_detail(ke_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.key_distribution_activity - ADD CONSTRAINT key_distribution_activity_pa_id_fkey FOREIGN KEY (pa_id) REFERENCES public.plan_analytique(pa_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.key_distribution_activity - ADD CONSTRAINT key_distribution_activity_po_id_fkey FOREIGN KEY (po_id) REFERENCES public.poste_analytique(po_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.key_distribution_detail - ADD CONSTRAINT key_distribution_detail_kd_id_fkey FOREIGN KEY (kd_id) REFERENCES public.key_distribution(kd_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.key_distribution_ledger - ADD CONSTRAINT key_distribution_ledger_jrn_def_id_fkey FOREIGN KEY (jrn_def_id) REFERENCES public.jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.key_distribution_ledger - ADD CONSTRAINT key_distribution_ledger_kd_id_fkey FOREIGN KEY (kd_id) REFERENCES public.key_distribution(kd_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.letter_cred - ADD CONSTRAINT letter_cred_fk FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.letter_deb - ADD CONSTRAINT letter_deb_fk FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.document_modele - ADD CONSTRAINT md_type FOREIGN KEY (md_type) REFERENCES public.document_type(dt_id); - - - -ALTER TABLE ONLY public.payment_method - ADD CONSTRAINT mod_payment_jrn_def_id_fk FOREIGN KEY (jrn_def_id) REFERENCES public.jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.payment_method - ADD CONSTRAINT mod_payment_mp_fd_id_fkey FOREIGN KEY (mp_fd_id) REFERENCES public.fiche_def(fd_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.payment_method - ADD CONSTRAINT mod_payment_mp_jrn_def_id_fkey FOREIGN KEY (mp_jrn_def_id) REFERENCES public.jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.operation_analytique - ADD CONSTRAINT operation_analytique_fiche_id_fk FOREIGN KEY (f_id) REFERENCES public.fiche(f_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.operation_analytique - ADD CONSTRAINT operation_analytique_j_id_fkey FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.operation_analytique - ADD CONSTRAINT operation_analytique_po_id_fkey FOREIGN KEY (po_id) REFERENCES public.poste_analytique(po_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.operation_currency - ADD CONSTRAINT operation_currency_jrnx_fk FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.operation_exercice_detail - ADD CONSTRAINT operation_exercice_detail_oe_id_fkey FOREIGN KEY (oe_id) REFERENCES public.operation_exercice(oe_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.operation_tag - ADD CONSTRAINT opt_jrnx FOREIGN KEY (jrn_id) REFERENCES public.jrn(jr_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.operation_tag - ADD CONSTRAINT opt_tag_id FOREIGN KEY (tag_id) REFERENCES public.tags(t_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.poste_analytique - ADD CONSTRAINT poste_analytique_pa_id_fkey FOREIGN KEY (pa_id) REFERENCES public.plan_analytique(pa_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.action_gestion - ADD CONSTRAINT profile_fkey FOREIGN KEY (ag_dest) REFERENCES public.profile(p_id) ON UPDATE SET NULL ON DELETE SET NULL; - - - -ALTER TABLE ONLY public.profile_menu - ADD CONSTRAINT profile_menu_me_code_fkey FOREIGN KEY (me_code) REFERENCES public.menu_ref(me_code) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.profile_menu - ADD CONSTRAINT profile_menu_p_id_fkey FOREIGN KEY (p_id) REFERENCES public.profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.profile_menu - ADD CONSTRAINT profile_menu_type_fkey FOREIGN KEY (p_type_display) REFERENCES public.profile_menu_type(pm_type); - - - -ALTER TABLE ONLY public.profile_mobile - ADD CONSTRAINT profile_mobile_menu_ref_fk FOREIGN KEY (me_code) REFERENCES public.menu_ref(me_code); - - - -ALTER TABLE ONLY public.profile_mobile - ADD CONSTRAINT profile_mobile_profile_fk FOREIGN KEY (p_id) REFERENCES public.profile(p_id); - - - -ALTER TABLE ONLY public.profile_sec_repository - ADD CONSTRAINT profile_sec_repository_p_id_fkey FOREIGN KEY (p_id) REFERENCES public.profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.profile_sec_repository - ADD CONSTRAINT profile_sec_repository_r_id_fkey FOREIGN KEY (r_id) REFERENCES public.stock_repository(r_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.profile_user - ADD CONSTRAINT profile_user_p_id_fkey FOREIGN KEY (p_id) REFERENCES public.profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.quant_purchase - ADD CONSTRAINT qp_vat_code_fk FOREIGN KEY (qp_vat_code) REFERENCES public.tva_rate(tva_id) ON UPDATE CASCADE; - - - -ALTER TABLE ONLY public.quant_sold - ADD CONSTRAINT qs_vat_code_fk FOREIGN KEY (qs_vat_code) REFERENCES public.tva_rate(tva_id) ON UPDATE CASCADE; - - - -ALTER TABLE ONLY public.quant_purchase - ADD CONSTRAINT quant_purchase_j_id_fkey FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.quant_purchase - ADD CONSTRAINT quant_purchase_qp_internal_fkey FOREIGN KEY (qp_internal) REFERENCES public.jrn(jr_internal) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED; - - - -ALTER TABLE ONLY public.quant_sold - ADD CONSTRAINT quant_sold_j_id_fkey FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.quant_sold - ADD CONSTRAINT quant_sold_qs_internal_fkey FOREIGN KEY (qs_internal) REFERENCES public.jrn(jr_internal) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED; - - - -ALTER TABLE ONLY public.stock_change - ADD CONSTRAINT stock_change_r_id_fkey FOREIGN KEY (r_id) REFERENCES public.stock_repository(r_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.stock_goods - ADD CONSTRAINT stock_goods_c_id_fkey FOREIGN KEY (c_id) REFERENCES public.stock_change(c_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.stock_goods - ADD CONSTRAINT stock_goods_j_id_fkey FOREIGN KEY (j_id) REFERENCES public.jrnx(j_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.tmp_stockgood_detail - ADD CONSTRAINT tmp_stockgood_detail_s_id_fkey FOREIGN KEY (s_id) REFERENCES public.tmp_stockgood(s_id) ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.user_sec_jrn - ADD CONSTRAINT uj_priv_id_fkey FOREIGN KEY (uj_jrn_id) REFERENCES public.jrn_def(jrn_def_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.user_sec_action_profile - ADD CONSTRAINT user_sec_action_profile_p_granted_fkey FOREIGN KEY (p_granted) REFERENCES public.profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - -ALTER TABLE ONLY public.user_sec_action_profile - ADD CONSTRAINT user_sec_action_profile_p_id_fkey FOREIGN KEY (p_id) REFERENCES public.profile(p_id) ON UPDATE CASCADE ON DELETE CASCADE; - - - diff --git a/include/sql/mod2/make-sql b/include/sql/mod2/make-sql index 02c8f5587..21da8fc1e 100755 --- a/include/sql/mod2/make-sql +++ b/include/sql/mod2/make-sql @@ -12,8 +12,8 @@ psql -X $TEMPLATE -c "delete from user_local_pref" pg_dump -O -U dany -s $TEMPLATE|grep -v "COMMENT ON SCHEMA public IS 'Standard public schema';" |sed "/^--/d" > schema.sql sed -i -e "/COMMENT ON EXTENSION/d" schema.sql sed -i -e "/CREATE EXTENSION/d" schema.sql - -echo "set search_path = public,comptaproc,pg_catalog ;" > data.sql -pg_dump -O -U dany --data-only --column-inserts -O ${TEMPLATE}|sed "/^--/d" | sed -e "/SET search_path/d" >> data.sql +sed -ne '0,/ADD CONSTRAINT/p' schema.sql > tmpSchema.sql +sed -ne '/ADD CONSTRAINT/,$p' schema.sql |sed -e '1d' > constraint.sql +cp tmpSchema.sql schema.sql From c46b22623950fb52aa5d4446591456a786b43555 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Sat, 7 Sep 2024 17:27:51 +0200 Subject: [PATCH 21/26] Fix Create user , password not set --- include/user.inc.php | 5 +++-- include/user_detail.inc.php | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/user.inc.php b/include/user.inc.php index c9d7bfa07..0a452a1b6 100644 --- a/include/user.inc.php +++ b/include/user.inc.php @@ -63,12 +63,13 @@ if ( isset ($_POST["ADD"]) ) { $exist_user=$cn->get_value("select count(*) from ac_users where use_login=lower($1)",[$login]); if ( $exist_user == 0 ) { + $new_user->setPassword($pass5); $new_user->insert(); $new_user->load(); put_global(array(['key'=>'use_id',"value"=>$new_user->id])); Noalyss_user::audit_admin(sprintf('ADD USER %s %s',$new_user->id,$login)); } else { - echo_warning(_("Utilisateur existant")); + echo_warning(_("Utilisateur existant")); $uid=$cn->get_value("select use_id from ac_users where use_login=lower($1)",[$login]); $new_user->setId($uid); put_global(array(['key'=>'use_id',"value"=>$new_user->id])); @@ -147,7 +148,7 @@ else if ($sbaction == "delete") echo "code [$code] code control [$ctl_code]"; } if ( $code != $ctl_code) { - echo _("Code invalide, effacement refusé"); + echo_warning (_("Code invalide, effacement refusé")); return; } $cn = new Database(); diff --git a/include/user_detail.inc.php b/include/user_detail.inc.php index 9184a8e7e..232b1bce6 100644 --- a/include/user_detail.inc.php +++ b/include/user_detail.inc.php @@ -129,8 +129,8 @@ $it_pass->value="";