<commit_before><?php

class DRMRoute extends sfObjectRoute implements InterfaceEtablissementRoute {

    protected $drm = null;
    
    protected function getObjectForParameters($parameters) {

        $this->drm = DRMClient::getInstance()->find('DRM-'.$parameters['identifiant'].'-'.$parameters['periode_version']);

        if (!$this->drm) {
            throw new sfError404Exception(sprintf("La DRM n'a pas été trouvée"));
        }

	$myUser = sfContext::getInstance()->getUser();

        if ($myUser->hasCredential('teledeclaration_drm') && 
	    $myUser->getCompte()->getSociete()->identifiant != $this->drm->getEtablissement()->getSociete()->identifiant) {
		throw new sfError404Exception("Vous n'avez pas le droit d'accéder à cette DRM");
	}

        $control = isset($this->options['control']) ? $this->options['control'] : array();

        if (in_array('valid', $control) && !$this->drm->isValidee()) {
            $myUser->setFlash('drm_warning', 'La DRM de '.$this->drm->getMois().'/'.$this->drm->getAnnee().' doit être validée');
            return $this->redirectHome($this->drm->identifiant);
        }

        if (in_array('edition', $control) && $this->drm->isValidee()) {
            $myUser->setFlash('drm_warning', 'La DRM de '.$this->drm->getMois().'/'.$this->drm->getAnnee().' ne peut pas être éditée car elle est validé');
            return $this->redirectHome($this->drm->identifiant);
        }

        return $this->drm;
    }
    protected function redirectHome($identifiant) {
        sfContext::getInstance()->getController()->redirect('@drm_etablissement?identifiant='.$identifiant);
        exit;
    }

    protected function doConvertObjectToArray($object) {  
        $parameters = array("identifiant" => $object->getIdentifiant(), "periode_version" => $object->getPeriodeAndVersion());
        return $parameters;
    }
    
    public function getDRMConfiguration() {
        
        return $this->getDRM()->getConfig();
    }

    public function getDRM() {
        if (!$this->drm) {
            $this->getObject();
        }

        return $this->drm;
    }

    public function getEtablissement() {

        return $this->getDRM()->getEtablissement();
    }
}<commit_msg>indent<commit_after><?php

class DRMRoute extends sfObjectRoute implements InterfaceEtablissementRoute {

    protected $drm = null;

    protected function getObjectForParameters($parameters) {

        $this->drm = DRMClient::getInstance()->find('DRM-'.$parameters['identifiant'].'-'.$parameters['periode_version']);

        if (!$this->drm) {
            throw new sfError404Exception(sprintf("La DRM n'a pas été trouvée"));
        }

        $myUser = sfContext::getInstance()->getUser();

        if ($myUser->hasCredential('teledeclaration_drm') &&
            $myUser->getCompte()->getSociete()->identifiant != $this->drm->getEtablissement()->getSociete()->identifiant) {
                throw new sfError404Exception("Vous n'avez pas le droit d'accéder à cette DRM");
        }

        $control = isset($this->options['control']) ? $this->options['control'] : array();

        if (in_array('valid', $control) && !$this->drm->isValidee()) {
            $myUser->setFlash('drm_warning', 'La DRM de '.$this->drm->getMois().'/'.$this->drm->getAnnee().' doit être validée');
            return $this->redirectHome($this->drm->identifiant);
        }

        if (in_array('edition', $control) && $this->drm->isValidee()) {
            $myUser->setFlash('drm_warning', 'La DRM de '.$this->drm->getMois().'/'.$this->drm->getAnnee().' ne peut pas être éditée car elle est validé');
            return $this->redirectHome($this->drm->identifiant);
        }

        return $this->drm;
    }
    protected function redirectHome($identifiant) {
        sfContext::getInstance()->getController()->redirect('@drm_etablissement?identifiant='.$identifiant);
        exit;
    }

    protected function doConvertObjectToArray($object) {
        $parameters = array("identifiant" => $object->getIdentifiant(), "periode_version" => $object->getPeriodeAndVersion());
        return $parameters;
    }

    public function getDRMConfiguration() {

        return $this->getDRM()->getConfig();
    }

    public function getDRM() {
        if (!$this->drm) {
            $this->getObject();
        }

        return $this->drm;
    }

    public function getEtablissement() {

        return $this->getDRM()->getEtablissement();
    }
}
{'fraction_non_alphanumeric': 0.1721735221398067, 'fraction_numerical': 0.0026972353337828725, 'mean_word_length': 3.093836246550138, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 99, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5010737', 'n_tokens_mistral': 1409, 'n_tokens_neox': 1314, 'n_words': 230}