Example #1
0
 function beforeFind($queryData)
 {
     parent::beforeFind($queryData);
     if ($this->alias == 'Proposer1Representative') {
         $queryData['conditions']['Membership.member_status_id'] = 3;
         $queryData['conditions']['representative_type_id'] = 1;
         unset($queryData['page']);
     }
     if ($this->alias == 'Proposer1Representative' && !empty($queryData['list'])) {
         //&& empty($queryData['list'])
         $queryData['conditions']['Membership.member_status_id'] = 3;
         $queryData['fields'][0] = str_replace('{n}.', '', $queryData['list']['keyPath']);
         $queryData['fields'][1] = str_replace('{n}.', '', $queryData['list']['valuePath']);
         $queryData['fields'][2] = 'Membership.name';
         $queryData['fields'][3] = 'Publication.publication_name';
         $queryData['fields'][4] = 'Prefix.prefix_name';
         $queryData['fields'][5] = 'Edition.city_name';
         $this->_proposer1RepresentativeCustomOverride = true;
         if ($this->alias == 'Proposer1Representative') {
             $queryData['joins'][] = "JOIN `memberships` AS `Membership` ON `{$this->alias}`.`membership_id` = `Membership`.`id` AND `Membership`.`member_status_id` = 3 AND representative_type_id = 1";
             $queryData['joins'][] = "JOIN `publications` AS `Publication` ON `Membership`.`publication_id` = `Publication`.`id`";
             $queryData['joins'][] = "LEFT JOIN `prefixes` AS `Prefix` ON `Proposer1Representative`.`prefix_id` = `Prefix`.`id`";
             $queryData['joins'][] = "JOIN `cities` AS `Edition` ON `Membership`.`edition_id` = `Edition`.`id`";
         }
         $queryData['contain'] = array();
         unset($queryData['page']);
     }
     if (!empty($queryData['list']) && empty($queryData['order'][0])) {
         $queryData['order'] = array("{$this->alias}.{$this->displayField} ASC");
     }
     $role_id = null;
     if (class_exists('CakeSession') && isset($_SESSION) && !empty($_SESSION['Auth'])) {
         $auth = CakeSession::read('Auth');
         if (!empty($auth)) {
             $user_id = @CakeSession::read('Auth.User.id');
             $role_id = @CakeSession::read('Auth.User.role_id');
         }
     }
     if ($role_id != 1 && $this->schema('active')) {
         $queryData['conditions']["{$this->alias}.active"] = 1;
     }
     return $queryData;
 }
Example #2
0
 public function beforeFind($query)
 {
     $this->setDataSource(Configure::read("qe.dbconfig"));
     return parent::beforeFind($query);
     // TODO: Change the autogenerated stub
 }
Example #3
0
 /**
  * Add the association on find if they turn on the association in settings
  * Only adds the bind if contained in the query
  *
  * @param Model model
  * @param array query
  * @return array $query
  */
 public function beforeFind(Model $Model, $query = array())
 {
     if (!$this->settings[$Model->alias]['bind']) {
         return $Model->beforeFind($query);
     }
     //Only contain if we have it contained, or if no contain is specified
     if (isset($query['contain']) && !in_array('IcingVersion', $query['contain']) && !key_exists('IcingVersion', $query['contain'])) {
         return $Model->beforeFind($query);
     }
     $bind_options = array();
     if (isset($query['contain']['IcingVersion'])) {
         $bind_options = $query['contain']['IcingVersion'];
     }
     $this->bindIcingVersion($Model, $bind_options);
     return $Model->beforeFind($query);
 }
Example #4
0
 function beforeFind($queryData)
 {
     $results = parent::beforeFind($queryData);
     $this->lastAssociations = array('belongsTo' => $this->belongsTo, 'hasMany' => $this->hasMany, 'hasOne' => $this->hasOne, 'hasAndBelongsToMany' => $this->hasAndBelongsToMany);
     return $results;
 }