Пример #1
0
    /**
     * Edició/modificació de les dades d'una activitat
     * 
     * > Obtenció de les dades existents de l'activitat id i càrrega del formulari per a l'edició.
     * 
     * ### Paràmetres rebuts per GET:
     * * integer **id** Identificador de l'activitat
     * * boolean **show** Cert indica que s'accedix a l'edició de l'activitat des de la visualització. En cas contrari s'accedeix a l'edició des de la llista d'activitats a "Les meves activitats"
     * * string **back** Indica on enllaça el link de retorn "Tornar" des de la visualització de la fitxa 
     * 
     * @return void (mostra la plantilla Cataleg_user_fitxaActivitat.tpl' amb les dades de l'activitat id)
     */
    public function edit() {
        // Check permission
        $this->throwForbiddenUnless(SecurityUtil::checkPermission('Cataleg::', '::', ACCESS_EDIT));

        $id = FormUtil::getPassedValue('id', null, 'GET');
        $show = FormUtil::getPassedValue('show', false, 'GET');
        $back = FormUtil::getPassedValue('back', null, 'GET');

        $view = Zikula_View::getInstance('Cataleg', false);
        //if (is_numeric($id) && $editable && $isMine) {
        if (!is_null($id) && (ModUtil::apiFunc($this->name, 'user', 'haveAccess', array('accio' => 'edit', 'id' => $id)))) {
            // Obtenim catàleg, eix, prioritat i subprioritat i resta de dades de l'activitat
            $info = ModUtil::apiFunc('Cataleg', 'user', 'getActivitat', $id);
            if (!is_null($info)) {
                if (SecurityUtil::checkPermission('Cataleg::', '::', ACCESS_ADMIN))
                    $level = 'admin';
                else
                    $level = 'edit';

                $prioritats = ModUtil::apiFunc('Cataleg', 'user', 'getAllPrioritatsCataleg', array('catId' => $info['cataleg']['catId']));
                $destinataris = ModUtil::apiFunc('Cataleg', 'user', 'getTipus', array('tipus' => 'dest'));
                $curs = ModUtil::apiFunc('Cataleg', 'user', 'getTipus', array('tipus' => 'curs'));
                $pres = ModUtil::apiFunc('Cataleg', 'user', 'getTipus', array('tipus' => 'pres'));
                $abast = ModUtil::apiFunc('Cataleg', 'user', 'getTipus', array('tipus' => 'abast'));
                $sstt = ModUtil::apiFunc('Cataleg', 'user', 'getTipus', array('tipus' => 'sstt'));
                $opsGest = ModUtil::apiFUnc('Cataleg', 'user', 'getOpcionsGestio');
                $unitats = ModUtil::apiFunc('Cataleg', 'user', 'getAllUserUnits', array('catId' => $info['cataleg']['catId']));

                $view->assign('info', $info);                     // Tota la informació de l'activitat
                $view->assign('level', $level);
                $view->assign('actId', $id);
                $view->assign('cataleg', $info['cataleg']);
                $view->assign('eixinfo', $info['eix']);           // info de l'eix associat a l'activitat
                $view->assign('subprinfo', $info['spr']);         // info de la subprioritat associada a l'activitat                
                $view->assign('subpr', ModUtil::apiFunc('Cataleg', 'user', 'getAllSubprioritats', array('priId' => $info['priId'])));  // Llista de subprioritats de la prioritat triada
                $view->assign('priinfo', $info['pri']);           // info de la prioritat associada a l'activitat
                $view->assign('prioritats', $prioritats);         // llista de prioritats disponibles
                $view->assign('unitats', $unitats);               // llista de les unitats de l'usuari
                $view->assign('destinataris', $destinataris);
                $view->assign('curs', $curs);
                $view->assign('pres', $pres);
                $view->assign('ambit', $abast);
                $view->assign('sstt', $sstt);
                $view->assign('opsGest', $opsGest);
                $view->assign('def', '');
                $view->assign('show', $show);
                $view->assign('back', $back);

                return $view->fetch('user/Cataleg_user_fitxaActivitat.tpl');
            }
        } else {
            $view->assign('icon', 'important.png');
            $view->assign('msg', $this->__('No teniu permís per editar aquesta activitat.'));
            return $view->fetch('user/Cataleg_user_msg.tpl');
        }
    }
Пример #2
0
    /**
     * @name  : refreshDefauls
     * 		Obtenir valors per defecte en l'organització/gestió d'una activitat
     *          donada una opció organitzativa determinada (SE, ST o Unitat)
     * 
     * @param : def valor de l'opció escollida
     * @return: plantilla amb les opcions per defecte corresponents
     */
    public function refreshDefauls($args) {
        if (!SecurityUtil::checkPermission('Cataleg::', '::', ACCESS_READ)) {
            throw new Zikula_Exception_Fatal($this->__('No teniu autorització per accedir a aquest mòdul.'));
        }

        $opc = $this->request->getPost()->get('def', '');
        if (!$opc) {
            throw new Zikula_Exception_Fatal($this->__('Falta un paràmetre.'));
        }
        $opsGest = ModUtil::apiFUnc('Cataleg', 'user', 'getOpcionsGestio');
        $default = (!is_null($opc)) ? 'op' . $opc : null;

        $view = Zikula_View::getInstance('Cataleg', false);
        $view->assign('def', $default);
        $view->assign('opsGest', $opsGest);
        // Carreguem la plantilla amb les dades
        $content = $view->fetch('user/Cataleg_user_elemGestio.tpl');

        return new Zikula_Response_Ajax(array('content' => $content));
    }