Zend Framework

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-06-2013 09:54:20

Guillean
Nouveau membre
Date d'inscription: 19-06-2013
Messages: 3

[Résolu] Problème de suppression d'absences [Zend 1.11]

Bonjour à tous,

Dans le cadre de mon stage, je dois faire des corrections de bugs et des ajouts d'applications à un site déjà existant dont la version est : *@version   $Id: ZendServer.php 23775 2011-03-01 17:25:24Z ralph $

dans ce site, il y à une application de gestion d'un planning quotidien des agents présents dans l'entreprise, le soucis étant qu'une fois qu'une absence est ajoutée au planning, il est impossible de la supprimer, voici donc le code que j'ai repéré correspondant aux absences et aux options de suppression dans ce planning avec l'architecture du site.

/phpmyadmmin
/site
/application
   /configs
   /controllers
   /forms
   /layouts
   /models
   /plugins
   /views
   /Acl.php
   /Bootstrap.php
/languages
/library
   /Zend
   /ZfDebug
/public
   /css
   /images
   /js
   /index.php
/index.html

dans le fichier planningcontroller.php :

Code:

[lang=php]
    public function supprimerAction() {
        Zend_Layout::getMvcInstance()->disableLayout();
        
        if ($this->getRequest()->isPost()) {
             $formData = $this->getRequest()->getPost();
             
             $explode = explode('-', $formData['id']);
             $type = $explode[0];
             $id = $explode[1];
             
             if($type == 'tache') {
                 $TTacheAf = new Application_Model_DbTable_TachesAffectation();
                 $TTacheAf->delete('id = '.$id);
             }elseif($type == 'absence') {
                 $TAbs = new Application_Model_DbTable_Absences();
                 $TAbs->delete('id = '.$id);
             }
        }
    }

dans le fichier views/scripts/planning/voir.phtml :

Code:

[lang=html]<div id="nouveau">
    <div id="tabs">
        <ul>
            <li><a href="#tache">Nouvelle tâche</a></li>
            <li><a href="#abs">Nouvelle absence</a></li>
        </ul>
        <div id="tache">
            <?php 
                echo $this->formTache;
            ?>
        </div>
        <div id="abs">
            <?php 
                echo $this->form;
            ?>
        </div>
    </div>
</div>
<div id="modifier">
    
</div>

dans le fichier forms/planning/Abscence.php :

Code:

[lang=php]
        $type = new Zend_Form_Element_Radio('type');
        $type->addMultiOption('Accident de travail', 'Accident de travail')
              ->addMultiOption('RTT', 'RTT')
             ->addMultiOption('Maladie', 'Maladie')
             ->addMultiOption('Récupération', 'Récupération')
             ->addMultiOption('Congé exceptionnel', 'Congé exceptionnel')
             ->addMultiOption('Congé annuel', 'Congé annuel')
                ->addMultiOption('autre', 'Autre')
                ->setRequired(true)
             ->addFilter('StripTags')
             ->addFilter('StringTrim')
             ->addValidator('NotEmpty')
             ->setLabel('Type de l\'absence : ');

et le fichier js/planning.js :

Code:

function initEvent() {
    $("tr[id^=agent-]").dblclick(nouveau);
    $(".planning_content>div").dblclick(modifier);
}

function nouveau() {
    /*
     * Ouverture d'une fenetre dialog
     */
    var agent = $(this);
    $("#agent , #agentTache").val(agent.attr("id").split('-')[1]);
    loadAgentsConcernes();
    $("#nouveau").dialog("option", "title", agent.attr("nom"));
    $("#tabs").tabs("option","selected",0);
    $("#nouveau").dialog("open");
}

function modifier() {
    var tache = $(this);
    
    $("#modifier").dialog("option", "title", tache.children(".libelle").html());
    $("#modifier").attr("type" , tache.attr("id"));
    /*
     * Modifier le contenu du dialog
     */
    $("#modifier").html('<span class="gras">Agent</span> : '+tache.parent().parent().attr("nom")+'<br /><span class="gras">Libellé</span> : '+tache.children(".libelle").html()+'<br /><span class="gras">Début</span> : '+tache.children(".horaires").children(".debut").html()+'<br /><span class="gras">Fin</span> : '+tache.children(".horaires").children(".fin").html()+'');
    
    $("#modifier").dialog("open");
    
    return false;
}

si quelqu'un pouvait me donner un coup de main, cela serait grandement apprécié car la je bloque totalement ;_;

merci d'avance smile

Dernière modification par Guillean (24-06-2013 15:12:32)

Hors ligne

 

#2 24-06-2013 15:11:58

Guillean
Nouveau membre
Date d'inscription: 19-06-2013
Messages: 3

Re: [Résolu] Problème de suppression d'absences [Zend 1.11]

Problème résolu! en fait il était tellement évident que je ne l'avais même pas aperçu, le problème venait du test dans la fonction supprimerAction ou il suffisait de remplacer le elseif par un simple else.

Code:

public function supprimerAction() {
    Zend_Layout::getMvcInstance()->disableLayout();
     
    if ($this->getRequest()->isPost()) {
         $formData = $this->getRequest()->getPost();
          
         $explode = explode('-', $formData['id']);
         $type = $explode[0];
         $id = $explode[1];
          
         if($type == 'tache') {
             $TTacheAf = new Application_Model_DbTable_TachesAffectation();
             $TTacheAf->delete('id = '.$id);
         }else{
             $TAbs = new Application_Model_DbTable_Absences();
             $TAbs->delete('id = '.$id);
         }
    }
}

Hors ligne

 

#3 10-12-2015 12:07:10

agnestrepanier1
Nouveau membre
Date d'inscription: 10-12-2015
Messages: 3

Re: [Résolu] Problème de suppression d'absences [Zend 1.11]

Merci beaucoup pour votre aide smile

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages