예제 #1
0
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     if (Auth::user()->is_admin) {
         $grupos = Group::select('id', 'code', 'name', 'delimitaciones')->get();
         return View::make('grupos.index', array('grupos' => $grupos));
     }
     return View::make('cuentas.dashboard');
 }
예제 #2
0
 public function get_groups_from_course($course_id, $selected_id = NULL)
 {
     $groups = new Group();
     $groups->select('id, name');
     $groups->where_related_course('id', $course_id);
     $groups->order_by_with_constant('name', 'asc');
     $groups->get_iterated();
     $options = array('' => '');
     foreach ($groups as $group) {
         $options[$group->id] = $group->name;
     }
     $this->parser->parse('backend/participants/groups_from_course.tpl', array('groups' => $options, 'selected' => $selected_id));
 }
예제 #3
0
파일: proposal.php 프로젝트: netixx/frankiz
 function handler_news($page)
 {
     if (Env::has('send')) {
         try {
             $required_fields = array('origin_news_proposal', 'target_group_news', 'title', 'news_content', 'begin', 'end');
             foreach ($required_fields as $field) {
                 if (Env::v($field, '') == '') {
                     throw new Exception("Missing field ({$field})");
                 }
             }
             // Origin & Target
             if (Env::t('origin_news_proposal') == 'false') {
                 $origin = false;
             } else {
                 $origin = new Group(Env::i('origin_news_proposal'));
                 $origin->select(GroupSelect::base());
             }
             list($target, $target_group) = self::target_picker_to_caste_group('news');
             // Content
             $title = Env::t('title');
             $image = Env::has('image') ? new FrankizImage(Env::i('image')) : false;
             $content = Env::t('news_content');
             // Dates
             $begin = new FrankizDateTime(Env::t('begin'));
             $end = new FrankizDateTime(Env::t('end'));
             // Meta data
             $comment = Env::t('comment', '');
             // Check credentials for origin
             if ($origin !== false && !S::user()->hasRights($origin, Rights::admin())) {
                 if (S::user()->hasRights($origin, Rights::restricted())) {
                     $valid_origin = true;
                 } else {
                     throw new Exception("Invalid credentials for origin Group");
                 }
             } else {
                 $valid_origin = false;
             }
             $target->select(CasteSelect::validate());
             $nv = new NewsValidate(array('writer' => S::user(), 'target' => $target, 'image' => $image, 'origin' => $origin, 'title' => $title, 'content' => $content, 'begin' => $begin, 'end' => $end, 'comment' => $comment, 'valid_origin' => $valid_origin));
             $v = new Validate(array('writer' => S::user(), 'group' => $valid_origin ? $origin : $target_group, 'item' => $nv, 'type' => 'news'));
             $v->insert();
             $page->assign('envoye', true);
         } catch (Exception $e) {
             throw $e;
             $page->assign('msg', "Il manque des informations pour créer l'annonce.");
         }
     }
     $page->assign('title', 'Proposer une annonce');
     $page->addCssLink('validate.css');
     $page->changeTpl('validate/prop.news.tpl');
 }
예제 #4
0
/**
 * Create an image for a promotion, for a group, if needed
 */
function create_promo_image(Group $g, $promo)
{
    $g->select(GroupSelect::base());
    if ($g->image()) {
        return;
    }
    if ($promo % 2 == 0) {
        $upload = FrankizUpload::fromFile(dirname(__FILE__) . '/../images/rouje.png');
        $label = 'Chic à la rouje';
    } else {
        $upload = FrankizUpload::fromFile(dirname(__FILE__) . '/../images/jone.png');
        $label = 'Chic à la jone';
    }
    $i = new FrankizImage();
    $i->insert();
    $i->caste($g->caste(Rights::everybody()));
    $i->label($label);
    $i->image($upload, false);
    $g->image($i);
}
예제 #5
0
파일: Group.php 프로젝트: vishu87/avyay_sms
 public static function group_center_city()
 {
     $city = Group::select('city.city_name', 'city.id as city_id', 'groups.group_name', 'center.id as center_id', 'center.center_name', 'groups.id as group_id')->join('center', 'groups.center_id', '=', 'center.id')->join('city', 'center.city_id', '=', 'city.id')->orderBy('center_id', 'asc')->orderBy('city_id', 'asc')->get();
     return $city;
 }
예제 #6
0
 public function delete_group($group_id = NULL)
 {
     if (is_null($group_id)) {
         add_error_flash_message('Skupina sa nenašla.');
         redirect(site_url('groups'));
     }
     $this->db->trans_begin();
     $group = new Group();
     $persons_count = $group->person;
     $persons_count->select_func('COUNT', array('@id'), 'persons_count');
     $persons_count->where_related_group('id', '${parent}.id');
     $group->select_subquery($persons_count, 'persons_count');
     $group->select('*');
     $group->get_by_id((int) $group_id);
     if (!$group->exists()) {
         $this->db->trans_rollback();
         add_error_flash_message('Skupina sa nenašla.');
         redirect(site_url('groups'));
     }
     if ((int) $group->persons_count > 0) {
         $this->db->trans_rollback();
         add_error_flash_message('Nie je možné vymazať skupinu, ktorá má členov.');
         redirect(site_url('groups'));
     }
     $success_message = 'Skupina <strong>' . $group->title . '</strong> s ID <strong>' . $group->id . '</strong> bola vymazaná úspešne.';
     $error_message = 'Skupinu <strong>' . $group->title . '</strong> s ID <strong>' . $group->id . '</strong> sa nepodarilo vymazať.';
     if ($group->delete() && $this->db->trans_status()) {
         $this->db->trans_commit();
         add_success_flash_message($success_message);
     } else {
         $this->db->trans_rollback();
         add_error_flash_message($error_message);
     }
     redirect(site_url('groups'));
 }
예제 #7
0
 public function insertGroup()
 {
     $cre = ["group" => Input::get('group')];
     $rules = ["group" => 'required'];
     $validator = Validator::make($cre, $rules);
     if ($validator->passes()) {
         $group = new Group();
         $group->group_name = Input::get('group');
         $group->center_id = Input::get('center_id');
         $group->save();
         $group_info = Group::select('center.center_name', 'groups.group_name', 'city.city_name', 'groups.id')->join('center', 'groups.center_id', '=', 'center.id')->join('city', 'center.city_id', '=', 'city.id')->where('groups.id', '=', $group->id)->first();
         $count = Group::count();
         $data['success'] = 'true';
         $data['message'] = html_entity_decode(View::make('admin.manage.groups.view', ["data" => $group_info, "count" => $count]));
     } else {
         $data["success"] = false;
         $data["message"] = "All fields are not filled";
     }
     return json_encode($data);
 }
예제 #8
0
 /**
  * Pobranie danych roli do wyświetlenia
  *
  * @param integer $id id roli
  * @return Row_Rola wiersz z danymi
  */
 public function showRole($id)
 {
     $modelGroup = new Group();
     $select = $modelGroup->select()->from(array('g' => 'group'), array())->joinLeft(array('rg' => 'role_group'), 'rg.id_group = g.id', array())->where('g.ghost = \'f\'')->where('rg.id_role = ?', $id)->columns(array('groups' => new Zend_Db_Expr('array_to_string(array_agg(description),\'<br />\')')))->setIntegrityCheck(false);
     $model = new Role();
     $cols = array('role_name', 'description', 'groups' => new Zend_Db_Expr('(' . $select . ')'), 'ghost' => new Zend_Db_Expr('CASE WHEN ghost=true THEN \'tak\' ELSE \'nie\' END'));
     $select = $model->select()->from(array('r' => 'role'))->columns($cols)->where('r.id = ?', $id);
     $data = $model->fetchRow($select);
     return $data;
 }
예제 #9
0
파일: activity.php 프로젝트: netixx/frankiz
 function handler_new_regular($page)
 {
     $title = Env::t('title', '');
     $description = Env::t('activity_description', '');
     $default_begin = Env::t('begin', '00:00');
     $default_end = Env::t('end', '00:00');
     $days = Env::v('days');
     $target = Env::i('target_group_activity', '');
     $caste = Env::has('target_everybody_activity') ? 'everybody' : 'restricted';
     if (Env::has('send')) {
         S::assert_xsrf_token();
         if ($title == '' || is_null($days) || $default_begin == '00:00' || $default_end == '00:00' || $target == '' || !(preg_match('`^\\d{2}:\\d{2}$`', $default_begin) && strtotime($default_begin) !== false && preg_match('`^\\d{2}:\\d{2}$`', $default_end) && strtotime($default_end) !== false)) {
             $page->assign('msg', 'Il manque des informations pour créer l\'activité.
                 Attention les heures ne peuvent pas rester de la forme 00:00.');
         } else {
             $days = implode(',', $days);
             $target = new Group($target);
             $target->select(GroupSelect::validate());
             if (!S::user()->hasRights($target, Rights::admin())) {
                 throw new Exception("Invalid credentials");
             }
             if ($target->ns() == Group::NS_USER) {
                 $caste = 'restricted';
             }
             $a = new Activity(array('target' => $target->caste(new Rights($caste)), 'origin' => $target, 'title' => $title, 'description' => $description, 'days' => $days, 'default_begin' => $default_begin, 'default_end' => $default_end));
             $a->insert();
             $page->assign('envoye', true);
         }
     }
     $page->assign('title_activity', $title);
     $page->assign('description', $description);
     $page->assign('begin', $default_begin);
     $page->assign('end', $default_end);
     $page->assign('title', 'Créer une activité régulière');
     $page->changeTpl('activity/create_regular_activity.tpl');
 }
예제 #10
0
파일: User.php 프로젝트: knatorski/SMS
 public function getDataToUserReport()
 {
     $profileModel = new Profile();
     $select = $profileModel->select()->order('id_user');
     $profileDataArray = $profileModel->fetchAll($select)->toArray();
     $groupModel = new Group();
     $select = $groupModel->select();
     $groupDataArray = $groupModel->fetchAll($select)->toArray();
     foreach ($groupDataArray as $key => $value) {
         $tmp[$value['id']] = $value;
     }
     $groupDataArray = $tmp;
     unset($tmp);
     $branchModel = new Branch();
     $select = $branchModel->select();
     $branchDataArray = $branchModel->fetchAll($select)->toArray();
     foreach ($branchDataArray as $key => $value) {
         $tmp[$value['id']] = $value;
     }
     $branchDataArray = $tmp;
     unset($tmp);
     $userModel = new User();
     $select = $userModel->select();
     $userDataArray = $userModel->fetchAll($select)->toArray();
     foreach ($userDataArray as $key => $value) {
         $tmp[$value['id']] = $value;
     }
     $userDataArray = $tmp;
     unset($tmp);
     $roleModel = new Role();
     $select = $roleModel->select();
     $roleDataArray = $roleModel->fetchAll($select)->toArray();
     foreach ($roleDataArray as $key => $value) {
         $tmp[$value['id']] = $value;
     }
     $roleDataArray = $tmp;
     unset($tmp);
     $groupArray = array();
     foreach ($profileDataArray as $key => $value) {
         $data = $this->getAuthorizationsForProfile($value['id']);
         foreach ($data as $key2 => $values) {
             foreach ($values as $key3 => $privs) {
                 /* if ($privs['ghost'] === true) {
                     unset($data[$key2][$key3]);
                     continue;
                     }
                    */
                 $tmp = array('login' => '', 'surname' => '', 'first_name' => '', 'group' => '', 'role' => '', 'branch' => '', 'ghost' => '');
                 if ($key2 === 'group') {
                     $tmp['group'] = $groupDataArray[$privs['id_group']]['group_name'];
                 }
                 if ($key2 === 'role') {
                     $tmp['role'] = $roleDataArray[$privs['id_role']]['description'];
                 }
                 $tmp['login'] = $userDataArray[$value['id_user']]['login'];
                 $tmp['surname'] = $userDataArray[$value['id_user']]['surname'];
                 $tmp['first_name'] = $userDataArray[$value['id_user']]['first_name'];
                 $tmp['branch'] = $branchDataArray[$value['id_branch']]['branch_name'];
                 $tmp['ghost'] = $userDataArray['ghost'] ? 'NIEAKTYWNY' : 'AKTYWNY';
                 $groupArray[] = $tmp;
             }
         }
     }
     return $groupArray;
 }