From 2d262a2016f22cd223c43544db22ed1e53b37eef Mon Sep 17 00:00:00 2001
From: sparkyx
Date: Thu, 1 Aug 2024 19:58:24 +0200
Subject: [PATCH] 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 0343310db..8a8578e33 100644
--- a/html/css/style-classic7.css
+++ b/html/css/style-classic7.css
@@ -3353,6 +3353,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 1a90649cf..aa112d398 100644
--- a/include/class/follow_up.class.php
+++ b/include/class/follow_up.class.php
@@ -1936,7 +1936,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()
@@ -1996,8 +1996,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();
}
}
/**
@@ -2028,7 +2032,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