diff --git a/htdocs/actioncomm.class.php b/htdocs/actioncomm.class.php index bb7b56cc785..6df8c61e068 100644 --- a/htdocs/actioncomm.class.php +++ b/htdocs/actioncomm.class.php @@ -47,6 +47,7 @@ class ActionComm var $contact; var $note; var $percent; + var $error; /** * \brief Constructeur @@ -104,7 +105,7 @@ class ActionComm // Ajoute entrée dans webcal $result=$webcal->add($author,$webcal->date,$webcal->texte,$webcal->desc); if ($result < 0) { - $this->error="Echec insertion dans webcal ".$webcal->error; + $this->error="Echec insertion dans webcal: ".$webcal->error; } } else if ($webcal == 1) diff --git a/htdocs/comm/action/fiche.php b/htdocs/comm/action/fiche.php index 831b7e26ea3..80a0c834c84 100644 --- a/htdocs/comm/action/fiche.php +++ b/htdocs/comm/action/fiche.php @@ -132,13 +132,14 @@ if ($_POST["action"] == 'add_action') $idaction=$actioncomm->add($user, $webcal); if ($idaction > 0) { - if ($webcal >= 0) { - // Si pas de module webcal ou si pas d'erreur avec + if (! $actioncomm->error) { + // Si pas d'erreur Header("Location: ".$_POST["from"]); } else { - // Si erreur dans module webcal + // Si erreur $_GET["id"]=$idaction; + $error=$actioncomm->error; } } else { dolibarr_print_error($db); @@ -259,7 +260,16 @@ if ($_GET["action"] == 'create') if ($conf->webcal->enabled) { $langs->load("other"); - print ''.$langs->trans("AddCalendarEntry").''; + print ''.$langs->trans("AddCalendarEntry").''; + if (! $user->webcal_login) { + print ''; + print ' '.$langs->trans("ErrorWebcalLoginNotDefined","id."\">".$user->login.""); + print ''; + } else { + print ''; + } + + print ''; } print ''.$langs->trans("Comment").''; diff --git a/htdocs/langs/en_US/other.lang b/htdocs/langs/en_US/other.lang index 54cc50c3eaf..72274d4a0a2 100644 --- a/htdocs/langs/en_US/other.lang +++ b/htdocs/langs/en_US/other.lang @@ -1,6 +1,7 @@ # Dolibarr language file - en_US - other Calendar=Calendar LoginWebcal=Login for Webcalendar +ErrorWebcalLoginNotDefined=The Webcalendar login associated to your Dolibarr login %s is not defined. AddCalendarEntry=Add entry in calendar Mailing=Mailing MailingDesc=This page allows you to send mailings to a group of people. diff --git a/htdocs/langs/fr_FR/other.lang b/htdocs/langs/fr_FR/other.lang index 53a57b0f685..86f2e67c4b4 100644 --- a/htdocs/langs/fr_FR/other.lang +++ b/htdocs/langs/fr_FR/other.lang @@ -2,6 +2,7 @@ Calendar=Calendrier LoginWebcal=Login Webcalendar AddCalendarEntry=Ajouter entrée dans le calendrier +ErrorWebcalLoginNotDefined=Le login Webcalendar associé à votre login Dolibarr %s n'est pas défini. Mailing=Mailing MailingDesc=Cet écran vous permet d'envoyer des mailing à un groupe de personne. MailingResult=Résultat de l'envoi du mailing diff --git a/htdocs/lib/webcal.class.php b/htdocs/lib/webcal.class.php index 436019f7b91..89e8deae9ef 100644 --- a/htdocs/lib/webcal.class.php +++ b/htdocs/lib/webcal.class.php @@ -43,6 +43,7 @@ class Webcal { var $date; var $texte; var $desc; + var $error; /*! \brief Constructeur de la classe d'interface à Webcalendar @@ -68,12 +69,17 @@ class Webcal { \param[in] date la date de l'evenement dans le calendrier \param[in] texte le titre a indiquer dans l'evenement \param[in] desc la description a indiquer dans l'evenement - \return int 1 en cas de succès, -1,-2, -3 en cas d'erreur + \return int 1 en cas de succès, -1,-2,-3 en cas d'erreur, -4 si login webcal non défini */ function add($user, $date, $texte, $desc) { - + // Test si login webcal défini pour le user + if (! $user->webcal_login) { + $this->error=$langs->trans("ErrorWebcalLoginNotDefined","id."\">".$user->login.""); + return -4; + } + // Recupère l'id max+1 dans la base webcalendar $id = $this->get_next_id(); @@ -110,18 +116,18 @@ class Webcal { } else { - $error = $this->localdb->error() . '
' .$sql; + $this->error = $this->localdb->error() . '
' .$sql; return -1; } } else { - $error = $this->localdb->error() . '
' .$sql; + $this->error = $this->localdb->error() . '
' .$sql; return -2; } } else { - $error = $this->localdb->error() . '
' .$sql; + $this->error = $this->localdb->error() . '
' .$sql; return -3; } } @@ -129,7 +135,7 @@ class Webcal { /*! \brief Obtient l'id suivant dans le webcalendar - \return id retourne l'id suivant dans le webcalendar + \return int retourne l'id suivant dans le webcalendar ou -1 si erreur */ function get_next_id() diff --git a/htdocs/societe.php b/htdocs/societe.php index c3b2f4adaa0..2959569c15a 100644 --- a/htdocs/societe.php +++ b/htdocs/societe.php @@ -55,7 +55,7 @@ $search_ville=isset($_GET["search_ville"])?$_GET["search_ville"]:$_POST["search_ $socname=isset($_GET["socname"])?$_GET["socname"]:$_POST["socname"]; $sortfield = isset($_GET["sortfield"])?$_GET["sortfield"]:$_POST["sortfield"]; $sortorder = isset($_GET["sortorder"])?$_GET["sortorder"]:$_POST["sortorder"]; -$page=$_GET["page"]; +$page=isset($_GET["page"])?$_GET["page"]:$_POST["page"]; if ($sortorder == "") { $sortorder="ASC";