Przeglądaj źródła

Look and feel v14

Laurent Destailleur 4 lat temu
rodzic
commit
8df083c955
3 zmienionych plików z 147 dodań i 119 usunięć
  1. 2 2
      ChangeLog
  2. 2 0
      htdocs/user/info.php
  3. 143 117
      htdocs/user/notify/card.php

+ 2 - 2
ChangeLog

@@ -19,8 +19,8 @@ WARNING:
 Following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
 * The ICS value for direct debit or credit transfer is now store on each bank account instead of into the global setup.
 * API /setup/shipment_methods has been replaced with API /setup/shipping_methods
-* Field "tva" renamed into "total_tva" in llx_propal, llx_supplier_proposal, llx_commande, llx_commande_fournisseur for better field name consistency
-* Field "total" renamed into "total_ttc" in llx_propal, llx_supplier_proposal for better field name consistency
+* Field "tva" renamed into "total_tva" for table llx_propal, llx_supplier_proposal, llx_commande, llx_commande_fournisseur for better field name consistency
+* Field "total" renamed into "total_ttc" for table lx_propal, llx_supplier_proposal for better field name consistency
 * If your database is PostgreSql, you must use version 9.1.0 or more (Dolibarr need the SQL function CONCAT)
 * If your database is MySql or MariaDB, you need at least version 5.1
 

+ 2 - 0
htdocs/user/info.php

@@ -32,6 +32,8 @@ $langs->load("users");
 
 // Security check
 $id = GETPOST('id', 'int');
+$ref = GETPOST('ref', 'alpha');
+
 $object = new User($db);
 if ($id > 0 || !empty($ref)) {
 	$result = $object->fetch($id, $ref, '', 1);

+ 143 - 117
htdocs/user/notify/card.php

@@ -32,9 +32,11 @@ require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php';
 require_once DOL_DOCUMENT_ROOT.'/core/triggers/interface_50_modNotification_Notification.class.php';
 
 // Load translation files required by page
-$langs->loadLangs(array('companies', 'mails', 'admin', 'other'));
+$langs->loadLangs(array('companies', 'mails', 'admin', 'other', 'errors'));
 
 $id = GETPOST("id", 'int');
+$ref = GETPOST('ref', 'alpha');
+
 $action = GETPOST('action', 'aZ09');
 $actionid = GETPOST('actionid');
 
@@ -63,11 +65,24 @@ $pagenext = $page + 1;
 
 $now = dol_now();
 
+// Security check
+$object = new User($db);
+if ($id > 0 || !empty($ref)) {
+	$result = $object->fetch($id, $ref, '', 1);
+	$object->getrights();
+}
+
+$permissiontoadd = (($object->id == $user->id) || (!empty($user->rights->user->user->lire)));
+
 
 /*
  * Actions
  */
 
+if (GETPOST('cancel', 'alpha')) {
+	$action = 'list';
+}
+
 // Add a notification
 if ($action == 'add') {
 	$error = 0;
@@ -75,6 +90,7 @@ if ($action == 'add') {
 	if ($actionid <= 0) {
 		setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Action")), null, 'errors');
 		$error++;
+		$action = 'create';
 	}
 
 	if (!$error) {
@@ -98,6 +114,7 @@ if ($action == 'add') {
 			$db->commit();
 		} else {
 			$db->rollback();
+			$action = 'create';
 		}
 	}
 }
@@ -185,7 +202,7 @@ if ($result > 0) {
 
 
 	// Add notification form
-	print load_fiche_titre($langs->trans("AddNewNotification"), '', '');
+	//  print load_fiche_titre($langs->trans("AddNewNotification"), '', '');
 
 	print '<form action="'.$_SERVER["PHP_SELF"].'?id='.$id.'" method="post">';
 	print '<input type="hidden" name="token" value="'.newToken().'">';
@@ -194,7 +211,7 @@ if ($result > 0) {
 	$param = "&id=".$id;
 
 	// Line with titles
-	print '<table width="100%" class="noborder">';
+	/*  print '<table width="100%" class="noborder">';
 	print '<tr class="liste_titre">';
 	print_liste_field_titre("Target", $_SERVER["PHP_SELF"], "c.lastname,c.firstname", '', $param, 'width="45%"', $sortfield, $sortorder);
 	print_liste_field_titre("Action", $_SERVER["PHP_SELF"], "", '', $param, 'width="35%"', $sortfield, $sortorder);
@@ -202,48 +219,10 @@ if ($result > 0) {
 	print_liste_field_titre('');
 	print "</tr>\n";
 
-
-	// $listofemails=$object->thirdparty_and_contact_email_array();
-	if ($object->email) {
-		$actions = array();
-
-		// Load array of available notifications
-		$notificationtrigger = new InterfaceNotification($db);
-		$listofnotifiedevents = $notificationtrigger->getListOfManagedEvents();
-
-		foreach ($listofnotifiedevents as $notifiedevent) {
-			$label = ($langs->trans("Notify_".$notifiedevent['code']) != "Notify_".$notifiedevent['code'] ? $langs->trans("Notify_".$notifiedevent['code']) : $notifiedevent['label']);
-			$actions[$notifiedevent['rowid']] = $label;
-		}
-		print '<tr class="oddeven nohover"><td>';
-		print $object->getNomUrl(1);
-		if (isValidEmail($object->email)) {
-			print ' &lt;'.$object->email.'&gt;';
-		} else {
-			$langs->load("errors");
-			print ' &nbsp; '.img_warning().' '.$langs->trans("ErrorBadEMail", $object->email);
-		}
-		print '</td>';
-		print '<td>';
-		print img_picto('', 'object_action', '', false, 0, 0, '', 'paddingright').$form->selectarray("actionid", $actions, '', 1);
-		print '</td>';
-		print '<td>';
-		$type = array('email'=>$langs->trans("EMail"));
-		print $form->selectarray("typeid", $type);
-		print '</td>';
-		print '<td class="right"><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
-		print '</tr>';
-	} else {
-		print '<tr class="oddeven"><td colspan="4">';
-		print $langs->trans("YouMustAssignUserMailFirst");
-		print '</td></tr>';
-	}
-
 	print '</table>';
 
-	print '</form>';
 	print '<br>';
-
+	*/
 	// List of notifications enabled for contacts
 	$sql = "SELECT n.rowid, n.type,";
 	$sql .= " a.code, a.label,";
@@ -262,8 +241,13 @@ if ($result > 0) {
 		dol_print_error($db);
 	}
 
+	$newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=create&backtopage='.urlencode($_SERVER['PHP_SELF']), '', $permissiontoadd);
+
+	$title = $langs->trans("ListOfActiveNotifications");
+
 	// List of active notifications
-	print load_fiche_titre($langs->trans("ListOfActiveNotifications").' ('.$num.')', '', '');
+	//print load_fiche_titre($langs->trans("ListOfActiveNotifications").' ('.$num.')', '', '');
+	print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $num, 'email', 0, $newcardbutton, '', $limit, 0, 0, 1);
 
 	// Line with titles
 	print '<table width="100%" class="noborder">';
@@ -274,99 +258,141 @@ if ($result > 0) {
 	print_liste_field_titre('', '', '');
 	print '</tr>';
 
-	$langs->load("errors");
-	$langs->load("other");
 
-	if ($num) {
-		$i = 0;
+	if ($action == 'create') {
+		// $listofemails=$object->thirdparty_and_contact_email_array();
+		if ($object->email) {
+			$actions = array();
 
-		$userstatic = new user($db);
-
-		while ($i < $num) {
-			$obj = $db->fetch_object($resql);
+			// Load array of available notifications
+			$notificationtrigger = new InterfaceNotification($db);
+			$listofnotifiedevents = $notificationtrigger->getListOfManagedEvents();
 
-			$userstatic->id = $obj->userid;
-			$userstatic->lastname = $obj->lastname;
-			$userstatic->firstname = $obj->firstname;
-			print '<tr class="oddeven"><td>'.$userstatic->getNomUrl(1);
-			if ($obj->type == 'email') {
-				if (isValidEmail($obj->email)) {
-					print ' &lt;'.$obj->email.'&gt;';
-				} else {
-					$langs->load("errors");
-					print ' &nbsp; '.img_warning().' '.$langs->trans("ErrorBadEMail", $obj->email);
-				}
+			foreach ($listofnotifiedevents as $notifiedevent) {
+				$label = ($langs->trans("Notify_".$notifiedevent['code']) != "Notify_".$notifiedevent['code'] ? $langs->trans("Notify_".$notifiedevent['code']) : $notifiedevent['label']);
+				$actions[$notifiedevent['rowid']] = $label;
+			}
+			print '<tr class="oddeven nohover"><td>';
+			print $object->getNomUrl(1);
+			if (isValidEmail($object->email)) {
+				print ' &lt;'.$object->email.'&gt;';
+			} else {
+				$langs->load("errors");
+				print ' &nbsp; '.img_warning().' '.$langs->trans("ErrorBadEMail", $object->email);
 			}
 			print '</td>';
 			print '<td>';
-			$label = ($langs->trans("Notify_".$obj->code) != "Notify_".$obj->code ? $langs->trans("Notify_".$obj->code) : $obj->label);
-			print img_picto('', 'object_action', '', false, 0, 0, '', 'paddingright').$label;
+			print img_picto('', 'object_action', '', false, 0, 0, '', 'paddingright').$form->selectarray("actionid", $actions, '', 1);
 			print '</td>';
 			print '<td>';
-			if ($obj->type == 'email') {
-				print $langs->trans("Email");
-			}
-			if ($obj->type == 'sms') {
-				print $langs->trans("SMS");
-			}
+			$type = array('email'=>$langs->trans("EMail"));
+			print $form->selectarray("typeid", $type);
+			print '</td>';
+			print '<td class="nowraponall">';
+			print '<input type="submit" class="button" value="'.$langs->trans("Add").'">';
+			print '&nbsp;';
+			print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">';
 			print '</td>';
-			print '<td class="right"><a href="card.php?id='.$id.'&amp;action=delete&amp;token='.newToken().'&amp;actid='.$obj->rowid.'">'.img_delete().'</a></td>';
 			print '</tr>';
-			$i++;
+		} else {
+			print '<tr class="oddeven"><td colspan="4">';
+			print $langs->trans("YouMustAssignUserMailFirst");
+			print '</td></tr>';
 		}
-		$db->free($resql);
-	}
+	} else {
+		if ($num) {
+			$i = 0;
 
-	// List of notifications enabled for fixed email
-	/*
-	foreach($conf->global as $key => $val) {
-		if (! preg_match('/^NOTIFICATION_FIXEDEMAIL_(.*)/', $key, $reg)) continue;
-		print '<tr class="oddeven"><td>';
-		$listtmp=explode(',',$val);
-		$first=1;
-		foreach($listtmp as $keyemail => $valemail)
-		{
-			if (! $first) print ', ';
-			$first=0;
-			$valemail=trim($valemail);
-			//print $keyemail.' - '.$valemail.' - '.$reg[1].'<br>';
-			if (isValidEmail($valemail, 1))
+			$userstatic = new user($db);
+
+			while ($i < $num) {
+				$obj = $db->fetch_object($resql);
+
+				$userstatic->id = $obj->userid;
+				$userstatic->lastname = $obj->lastname;
+				$userstatic->firstname = $obj->firstname;
+				print '<tr class="oddeven"><td>'.$userstatic->getNomUrl(1);
+				if ($obj->type == 'email') {
+					if (isValidEmail($obj->email)) {
+						print ' &lt;'.$obj->email.'&gt;';
+					} else {
+						$langs->load("errors");
+						print ' &nbsp; '.img_warning().' '.$langs->trans("ErrorBadEMail", $obj->email);
+					}
+				}
+				print '</td>';
+				print '<td>';
+				$label = ($langs->trans("Notify_".$obj->code) != "Notify_".$obj->code ? $langs->trans("Notify_".$obj->code) : $obj->label);
+				print img_picto('', 'object_action', '', false, 0, 0, '', 'paddingright').$label;
+				print '</td>';
+				print '<td>';
+				if ($obj->type == 'email') {
+					print $langs->trans("Email");
+				}
+				if ($obj->type == 'sms') {
+					print $langs->trans("SMS");
+				}
+				print '</td>';
+				print '<td class="right"><a href="card.php?id='.$id.'&amp;action=delete&amp;token='.newToken().'&amp;actid='.$obj->rowid.'">'.img_delete().'</a></td>';
+				print '</tr>';
+				$i++;
+			}
+			$db->free($resql);
+		}
+
+		// List of notifications enabled for fixed email
+		/*
+		foreach($conf->global as $key => $val) {
+			if (! preg_match('/^NOTIFICATION_FIXEDEMAIL_(.*)/', $key, $reg)) continue;
+			print '<tr class="oddeven"><td>';
+			$listtmp=explode(',',$val);
+			$first=1;
+			foreach($listtmp as $keyemail => $valemail)
 			{
-				if ($valemail == '__SUPERVISOREMAIL__') print $valemail;
-				else print ' &lt;'.$valemail.'&gt;';
+				if (! $first) print ', ';
+				$first=0;
+				$valemail=trim($valemail);
+				//print $keyemail.' - '.$valemail.' - '.$reg[1].'<br>';
+				if (isValidEmail($valemail, 1))
+				{
+					if ($valemail == '__SUPERVISOREMAIL__') print $valemail;
+					else print ' &lt;'.$valemail.'&gt;';
+				}
+				else
+				{
+					print ' '.img_warning().' '.$langs->trans("ErrorBadEMail",$valemail);
+				}
 			}
-			else
+			print '</td>';
+			print '<td>';
+			$notifcode=preg_replace('/_THRESHOLD_.*$/','',$reg[1]);
+			$notifcodecond=preg_replace('/^.*_(THRESHOLD_)/','$1',$reg[1]);
+			$label=($langs->trans("Notify_".$notifcode)!="Notify_".$notifcode?$langs->trans("Notify_".$notifcode):$notifcode);
+			print $label;
+			if (preg_match('/^THRESHOLD_HIGHER_(.*)$/',$notifcodecond,$regcond) && ($regcond[1] > 0))
 			{
-				print ' '.img_warning().' '.$langs->trans("ErrorBadEMail",$valemail);
+				print ' - '.$langs->trans("IfAmountHigherThan",$regcond[1]);
 			}
-		}
-		print '</td>';
-		print '<td>';
-		$notifcode=preg_replace('/_THRESHOLD_.*$/','',$reg[1]);
-		$notifcodecond=preg_replace('/^.*_(THRESHOLD_)/','$1',$reg[1]);
-		$label=($langs->trans("Notify_".$notifcode)!="Notify_".$notifcode?$langs->trans("Notify_".$notifcode):$notifcode);
-		print $label;
-		if (preg_match('/^THRESHOLD_HIGHER_(.*)$/',$notifcodecond,$regcond) && ($regcond[1] > 0))
+			print '</td>';
+			print '<td>';
+			print $langs->trans("Email");
+			print '</td>';
+			print '<td class="right">'.$langs->trans("SeeModuleSetup", $langs->transnoentitiesnoconv("Module600Name")).'</td>';
+			print '</tr>';
+		}*/
+		/*if ($user->admin)
 		{
-			print ' - '.$langs->trans("IfAmountHigherThan",$regcond[1]);
-		}
-		print '</td>';
-		print '<td>';
-		print $langs->trans("Email");
-		print '</td>';
-		print '<td class="right">'.$langs->trans("SeeModuleSetup", $langs->transnoentitiesnoconv("Module600Name")).'</td>';
-		print '</tr>';
-	}*/
-	/*if ($user->admin)
-	{
-		$var = ! $var;
-		print '<tr class="oddeven"><td colspan="4">';
-		print '+ <a href="'.DOL_URL_ROOT.'/admin/notification.php">'.$langs->trans("SeeModuleSetup", $langs->transnoentitiesnoconv("Module600Name")).'</a>';
-		print '</td></tr>';
-	}*/
+			$var = ! $var;
+			print '<tr class="oddeven"><td colspan="4">';
+			print '+ <a href="'.DOL_URL_ROOT.'/admin/notification.php">'.$langs->trans("SeeModuleSetup", $langs->transnoentitiesnoconv("Module600Name")).'</a>';
+			print '</td></tr>';
+		}*/
+	}
 
 	print '</table>';
 
+	print '</form>';
+
 
 	print '<br><br>'."\n";
 
@@ -422,7 +448,7 @@ if ($result > 0) {
 	print '<input type="hidden" name="id" value="'.$object->id.'">';
 
 	// List of notifications done
-	print_barre_liste($langs->trans("ListOfNotificationsDone"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, '', 0, '', '', $limit);
+	print_barre_liste($langs->trans("ListOfNotificationsDone"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'email', 0, '', '', $limit);
 
 	// Line with titles
 	print '<table width="100%" class="noborder">';