Exemplo n.º 1
0
	public function update(){
		if(RequestUtils::isPost()){
			parent::updateNotForward();

			$ticket = DAO::getOne("Ticket",$_POST['idTicket']);
			$messages = DAO::getAll("Message", 'idTicket = '.$_POST['idTicket']);

			$users = array();
			foreach ($messages as $message) {
				$user = $message->getUser()->getId();
				if (!in_array($user, $users) && $user != Auth::getUser()->getId() ) {
					array_push($users, $message->getUser()->getId());
				}
				$message->setUser(DAO::getAll("User", "id=".$message->getUser()->getId())[0]);
			}
			
			$message = DAO::getOne("Message", "idUser="******" ORDER BY date DESC");

			foreach ($users as $user) {
				if (DAO::getOne("Notification", 'idUser = '******' AND idTicket = '.$ticket->getId()) == null) {
					$user = DAO::getOne("User", $user);
					$notif = new Notification();
					$notif->setUser($user);
					$notif->setTicket($ticket);
					$notif->setMessage($message);
					DAO::insert($notif);
				}
			}


			$this->loadView("ticket/vMessage",array("messages"=>$messages, "ticket" => $ticket));
			Jquery::execute("CKEDITOR.replace('contenu');");
			Jquery::executeOn('.submitMessage', "click", "
			for ( instance in CKEDITOR.instances )
        		CKEDITOR.instances[instance].updateElement();
			");
			Jquery::postFormOn("click",".submitMessage","messages/update","frm",".contentMessages");
			echo Jquery::compile();
			
		}
	}
Exemplo n.º 2
0
	public function frm($id=NULL){
		$ticket=$this->getInstance($id);
		if ($ticket->getTitre() != "") {
			$notif = DAO::getOne("Notification", 'idUser = '******' AND idTicket = '.$ticket->getId());
			if ($notif != null) {
				DAO::delete($notif);
			}
		}
		
		//recuperer les message associé au ticket
		DAO::getOneToMany($ticket,"messages");
		$messages=$ticket->getMessages();
		foreach ($messages as $message){
			$message->setUser(DAO::getAll("User", "id=".$message->getUser()->getId())[0]);
		}

		//recuperer la ou les catégorie(s) du ticket
		$categories=DAO::getAll("Categorie");
		if($ticket->getCategorie()==null){
			$cat=-1;
		}else{
			$cat=$ticket->getCategorie()->getId();
		}
		
		//permet la séléction d'une catégorie
		$listCat=Gui::select($categories,$cat,"Sélectionner une catégorie ...");
		$listType=Gui::select(array("demande","incident"),$ticket->getType(),"Sélectionner un type ...");

		//affiche la vue vAdd du ticket
		$this->loadView("ticket/vAdd",array("ticket"=>$ticket,"listCat"=>$listCat,"listType"=>$listType));
		//affiche la vue permettant l'affichage des information du ticket
		$this->loadView("ticket/vInfoTicket",array("ticket"=>$ticket,"listCat"=>$listCat,"listType"=>$listType));
		
		//div contenant les messages
		echo "<div class='container contentMessages'>";
		//charge les messages et les affiches
		$this->loadView("ticket/vMessage",array("messages"=>$messages, "ticket" => $ticket));
		//instancie CKEditor
		echo Jquery::executeOn('.submitMessage', "click", "
			for ( instance in CKEDITOR.instances )
        		CKEDITOR.instances[instance].updateElement();
		");
		//lors du clic sur le bouton submitMessage, éxécute l'update du message et l'affiche
		echo Jquery::postFormOn("click",".submitMessage","Messages/update","frm",".contentMessages");

		if($ticket->getTitre() != "") echo Jquery::execute("$('.panel-body.infoTicket').hide();");
		echo "</div>";
		
		echo Jquery::executeOn(".montreInfoTicket","click", 
				"$('.montreInfoTicket').toggleClass('glyphicon-chevron-up');
				$('.montreInfoTicket').toggleClass('glyphicon-chevron-down');
				$('.panel-body.infoTicket').slideToggle('slow');");
	}