From 9dadd16724b265c1a77647a69e6f27f06fd36324 Mon Sep 17 00:00:00 2001
From: aspangaro <alexandre.spangaro@gmail.com>
Date: Mon, 23 Feb 2015 21:44:33 +0100
Subject: [PATCH] FIXED: Correct problem field with note - Add note_private &
 use wysiwyg editor

---
 htdocs/expensereport/card.php                 | 74 ++++++++++++++-----
 .../class/expensereport.class.php             | 17 +++--
 2 files changed, 66 insertions(+), 25 deletions(-)

diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php
index 8cbb25fcc53..51be7a7f3d8 100755
--- a/htdocs/expensereport/card.php
+++ b/htdocs/expensereport/card.php
@@ -112,7 +112,8 @@ if ($action == 'add' && $user->rights->expensereport->creer)
 	$object->fk_c_expensereport_statuts = 1;
 	$object->fk_c_paiement				= GETPOST('fk_c_paiement','int');
 	$object->fk_user_validator			= GETPOST('fk_user_validator','int');
-	$object->note						= GETPOST('note');
+	$object->note_public				= GETPOST('note_public');
+	$object->note_private				= GETPOST('note_private');
 
 	if ($object->periode_existe($user,$object->date_debut,$object->date_fin))
 	{
@@ -156,7 +157,8 @@ if ($action == 'update' && $user->rights->expensereport->creer)
 	}
 
 	$object->fk_c_paiement = GETPOST('fk_c_paiement','int');
-	$object->note = GETPOST('note');
+	$object->note_public = GETPOST('note_public');
+	$object->note_private = GETPOST('note_private');
 
 	$result = $object->update($user);
 	if ($result > 0)
@@ -1133,21 +1135,36 @@ if ($action == 'create')
 		print '</td>';
 		print '</tr>';
 	}
+	
+	// Public note
 	print '<tr>';
-	print '<td>'.$langs->trans("Note").'</td>';
-	print '<td>';
-	print '<textarea name="note" class="flat" rows="'.ROWS_3.'" cols="100">'.GETPOST('note').'</textarea>';
-	print '</td>';
-	print '</tr>';
+	print '<td class="border" valign="top">' . $langs->trans('NotePublic') . '</td>';
+	print '<td valign="top" colspan="2">';
+
+	$doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70);
+	print $doleditor->Create(1);
+	print '</td></tr>';
+
+	// Private note
+	if (empty($user->societe_id)) {
+		print '<tr>';
+		print '<td class="border" valign="top">' . $langs->trans('NotePrivate') . '</td>';
+		print '<td valign="top" colspan="2">';
+
+		$doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70);
+		print $doleditor->Create(1);
+		print '</td></tr>';
+	}
+	
 	print '<tbody>';
 	print '</table>';
 
 	dol_fiche_end();
 
-	print '<center>';
+	print '<div align=center">';
 	print '<input type="submit" value="'.$langs->trans("AddTrip").'" name="bouton" class="button" />';
-	print ' &nbsp; &nbsp; <input type="button" value="'.$langs->trans("Cancel").'" class="button" onclick="history.go(-1)" />';
-	print '</center>';
+	print '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" value="'.$langs->trans("Cancel").'" class="button" onclick="history.go(-1)" />';
+	print '</div>';
 
 	print '</form>';
 }
@@ -1271,19 +1288,34 @@ else
 					print '</td></tr>';
 
 				}
+				
+				// Public note
 				print '<tr>';
-				print '<td>'.$langs->trans("Note").'</td>';
-				print '<td>';
-				print '<textarea name="note" class="flat" rows="'.ROWS_2.'" cols="70">'.$object->note.'</textarea>';
-				print '</td>';
-				print '</tr>';
+				print '<td class="border" valign="top">' . $langs->trans('NotePublic') . '</td>';
+				print '<td valign="top" colspan="2">';
+
+				$doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70);
+				print $doleditor->Create(1);
+				print '</td></tr>';
+				
+				// Private note
+				if (empty($user->societe_id)) {
+					print '<tr>';
+					print '<td class="border" valign="top">' . $langs->trans('NotePrivate') . '</td>';
+					print '<td valign="top" colspan="2">';
+
+					$doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70);
+					print $doleditor->Create(1);
+					print '</td></tr>';
+				}
+				
 				print '</table>';
 
 				dol_fiche_end();
 
 				print '<div class="center">';
-				print '<input type="submit" value="'.$langs->trans("Modify").'" name="bouton" class="button"> &nbsp; &nbsp; ';
-				print '<input type="button" value="'.$langs->trans("Cancel").'" class="button" onclick="history.go(-1)" />';
+				print '<input type="submit" value="'.$langs->trans("Modify").'" name="bouton" class="button">';
+				print '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" value="'.$langs->trans("Cancel").'" class="button" onclick="history.go(-1)" />';
 				print '</div>';
 
 				print '</form>';
@@ -1370,8 +1402,12 @@ else
 				print '<td>'.$object->getLibStatut(4).'</td>';
 				print '</tr>';
 				print '<tr>';
-				print '<td>'.$langs->trans("Note").'</td>';
-				print '<td>'.$object->note.'</td>';
+				print '<td>'.$langs->trans("NotePublic").'</td>';
+				print '<td>'.$object->note_public.'</td>';
+				print '</tr>';
+				print '<tr>';
+				print '<td>'.$langs->trans("NotePrivate").'</td>';
+				print '<td>'.$object->note_private.'</td>';
 				print '</tr>';
 				print '<tr>';
 				print '<td>'.$langs->trans("AmountHT").'</td>';
diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php
index 0ebde8ac92c..b31329fae95 100755
--- a/htdocs/expensereport/class/expensereport.class.php
+++ b/htdocs/expensereport/class/expensereport.class.php
@@ -19,7 +19,8 @@ class ExpenseReport extends CommonObject
 	var $total_ht;
 	var $total_tva;
 	var $total_ttc;
-	var $note;
+	var $note_public;
+	var $note_private;
 	var $date_debut;
 	var $date_fin;
 
@@ -134,7 +135,8 @@ class ExpenseReport extends CommonObject
 		$sql.= ",fk_user_validator";
 		$sql.= ",fk_c_expensereport_statuts";
 		$sql.= ",fk_c_paiement";
-		$sql.= ",note";
+		$sql.= ",note_public";
+		$sql.= ",note_private";
 		$sql.= ") VALUES(";
 		$sql.= "'(PROV)'";
 		$sql.= ", ".$this->total_ht;
@@ -147,7 +149,8 @@ class ExpenseReport extends CommonObject
 		$sql.= ", ".($this->fk_user_validator > 0 ? $this->fk_user_validator:"null");
 		$sql.= ", ".($this->fk_c_expensereport_statuts > 1 ? $this->fk_c_expensereport_statuts:0);
 		$sql.= ", ".($this->fk_c_paiement > 0 ? $this->fk_c_paiement:"null");
-		$sql.= ", ".($this->note?"'".$this->db->escape($this->note)."'":"null");
+		$sql.= ", ".($this->note_public?"'".$this->db->escape($this->note_public)."'":"null");
+		$sql.= ", ".($this->note_private?"'".$this->db->escape($this->note_private)."'":"null");
 		$sql.= ")";
 
 		dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG);
@@ -230,7 +233,8 @@ class ExpenseReport extends CommonObject
 		$sql.= " , fk_user_paid = ".($this->fk_user_paid > 0 ? $this->fk_user_paid:"null");
 		$sql.= " , fk_c_expensereport_statuts = ".($this->fk_c_expensereport_statuts >= 0 ? $this->fk_c_expensereport_statuts:'0');
 		$sql.= " , fk_c_paiement = ".($this->fk_c_paiement > 0 ? $this->fk_c_paiement:"null");
-		$sql.= " , note = ".(!empty($this->note)?"'".$this->db->escape($this->note)."'":"''");
+		$sql.= " , note_public = ".(!empty($this->note_public)?"'".$this->db->escape($this->note_public)."'":"''");
+		$sql.= " , note_private = ".(!empty($this->note_private)?"'".$this->db->escape($this->note_private)."'":"''");
 		$sql.= " , detail_refuse = ".(!empty($this->detail_refuse)?"'".$this->db->escape($this->detail_refuse)."'":"''");
 		$sql.= " WHERE rowid = ".$this->id;
 
@@ -258,7 +262,7 @@ class ExpenseReport extends CommonObject
 	{
 		global $conf,$db;
 
-		$sql = "SELECT d.rowid, d.ref, d.note,"; 												// DEFAULT
+		$sql = "SELECT d.rowid, d.ref, d.note_public, d.note_private,";									// DEFAULT
 		$sql.= " d.detail_refuse, d.detail_cancel, d.fk_user_refuse, d.fk_user_cancel,"; 				// ACTIONS
 		$sql.= " d.date_refuse, d.date_cancel,";														// ACTIONS
 		$sql.= " d.total_ht, d.total_ttc, d.total_tva,"; 												// TOTAUX (int)
@@ -283,7 +287,8 @@ class ExpenseReport extends CommonObject
 				$this->total_ht 	= $obj->total_ht;
 				$this->total_tva 	= $obj->total_tva;
 				$this->total_ttc 	= $obj->total_ttc;
-				$this->note 		= $obj->note;
+				$this->note_public	= $obj->note_public;
+				$this->note_private	= $obj->note_private;
 				$this->detail_refuse = $obj->detail_refuse;
 				$this->detail_cancel = $obj->detail_cancel;
 
-- 
GitLab