X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fvalidations%2Fmedals.inc.php;h=98d14d24e61a9a5c25cdbbd1da4d86b20da87966;hb=d0327f6de73e81c4bcc656471ca4161e4f1e1e1b;hp=14f0b87e750c8281e2b58f4f45839a9db7961601;hpb=20d7932b9db32f4dbf96312efc1981a5bebd9b7d;p=platal.git diff --git a/include/validations/medals.inc.php b/include/validations/medals.inc.php index 14f0b87..98d14d2 100644 --- a/include/validations/medals.inc.php +++ b/include/validations/medals.inc.php @@ -1,6 +1,6 @@ Validate($_uid, false, 'medal', $_stamp); + parent::__construct($_uid, false, 'medal', $_stamp); $this->mid = $_idmedal; $this->gid = $_subidmedal; } @@ -41,51 +41,84 @@ class MedalReq extends Validate // }}} // {{{ function formu() - function formu() - { - return 'include/form.valid.medals.tpl'; - } + public function formu() + { + return 'include/form.valid.medals.tpl'; + } // }}} // {{{ function _mail_subj - function _mail_subj() + protected function _mail_subj() { - return "[Polytechnique.org/Décoration] Demande de décoration : ".$this->medal_name(); + return "[Polytechnique.org/Décoration] Demande de décoration : ".$this->medal_name(); } // }}} // {{{ function _mail_body - function _mail_body($isok) + protected function _mail_body($isok) { if ($isok) { - return " La décoration ".$this->medal_name()." que tu avais demandée vient d'être acceptée."; + return " La décoration ".$this->medal_name()." vient d'être ajoutée à ta fiche."; } else { - return " La demande que tu avais faite pour la décoration ".$this->medal_name()." a été refusée."; + return " La demande que tu avais faite pour la décoration ".$this->medal_name()." a été refusée."; } } // }}} // {{{ function medal_name - function medal_name() + public function medal_name() { - //var_dump($this); - $r = XDB::query(" - SELECT IF (g.text IS NOT NULL, CONCAT(m.text,' - ', g.text), m.text) - FROM profile_medals AS m - LEFT JOIN profile_medals_grades AS g ON(g.mid = m.id AND g.gid = {?}) - WHERE m.id = {?}", $this->gid, $this->mid); - return $r->fetchOneCell(); + //var_dump($this); + $r = XDB::query(" + SELECT IF (g.text IS NOT NULL, CONCAT(m.text,' - ', g.text), m.text) + FROM profile_medals AS m + LEFT JOIN profile_medals_grades AS g ON(g.mid = m.id AND g.gid = {?}) + WHERE m.id = {?}", $this->gid, $this->mid); + return $r->fetchOneCell(); + } + + // }}} + // {{{ function submit() + + public function submit() + { + $res = XDB::query("SELECT FIND_IN_SET('validation', flags) + FROM profile_medals + WHERE id = {?}", $this->mid); + if ($res->fetchOneCell()) { + parent::submit(); + } else { + $this->commit(); + } } // }}} // {{{ function commit() - function commit () + public function commit () { - return XDB::execute('REPLACE INTO profile_medals_sub VALUES({?}, {?}, {?})', $this->uid, $this->mid, $this->gid); + require_once 'notifs.inc.php'; + register_watch_op($this->uid, WATCH_FICHE, 'medals'); + return XDB::execute('REPLACE INTO profile_medals_sub + VALUES ({?}, {?}, {?})', + $this->uid, $this->mid, $this->gid); + } + + // }}} + // {{{ function get_request($medal) + + static public function get_request($uid, $type) + { + $reqs = Validate::get_typed_requests($uid, 'medal'); + foreach ($reqs as &$req) { + if ($req->mid == $type) { + return $req; + } + } + return null; } // }}} @@ -93,5 +126,5 @@ class MedalReq extends Validate // }}} -// vim:set et sw=4 sts=4 sws=4 foldmethod=marker: +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>