/**
  * Returns the static model of ParticipantAttributeName table
  *
  * @static
  * @access public
  * @param string $class
  * @return ParticipantAttributeName
  */
 public static function model($class = __CLASS__)
 {
     $model = parent::model($class);
     $keys = $model->tableSchema->primaryKey;
     if (is_array($keys) && count($keys) == 2) {
         // Fix the primary key, needed for PgSQL http://bugs.limesurvey.org/view.php?id=6707
         // First load the helper
         Yii::app()->loadHelper('update/updatedb');
         $dbType = setsDBDriverName();
         setVarchar($dbType);
         $table = 'participant_attribute_names';
         if ($dbType == 'mysql') {
             // Only for mysql first remove auto increment
             alterColumn($model->tableName(), $model->primaryKey(), $model->tableSchema->getColumn($model->primaryKey())->dbType, false);
         }
         dropPrimaryKey($table);
         addPrimaryKey($table, (array) $model->primaryKey());
         if ($dbType == 'mysql') {
             // Add back auto increment
             alterColumn($model->tableName(), $model->primaryKey(), Yii::app()->getConfig('autoincrement'));
         }
         // Refresh all schema data now just to make sure
         Yii::app()->db->schema->refresh();
         $model->refreshMetaData();
     }
     return $model;
 }
Esempio n. 2
0
 /**
  * Returns the static model of Settings table
  *
  * @static
  * @access public
  * @param int $surveyid
  * @return Tokens_dynamic
  */
 public static function model($sid = null)
 {
     if (!is_null($sid)) {
         self::sid($sid);
     }
     return parent::model(__CLASS__);
 }
Esempio n. 3
0
 /**
  * @param string $scenario
  * @param int $iSurveyId
  */
 public function __construct($iSurveyId = null, $scenario = 'insert')
 {
     if (!isset($iSurveyId)) {
         $iSurveyId = Response::getLastSurveyId();
     }
     $this->surveyId = $iSurveyId;
     parent::__construct($scenario);
 }
Esempio n. 4
0
 /**
  *
  * @param type $className
  * @return Dynamic
  */
 public static function model($className = null)
 {
     if (!isset($className)) {
         $className = get_called_class();
     } elseif (is_numeric($className)) {
         $className = get_called_class() . '_' . $className;
     }
     return parent::model($className);
 }
Esempio n. 5
0
 /**
  * @param string $scenario
  * @param string $sTableName
  */
 public function __construct($sTableName = null, $scenario = 'insert')
 {
     if (!isset($sTableName)) {
         //Yii::trace('sTableName missing.');
         throw new Exception('sTableName missing.');
     }
     $this->tableName = $sTableName;
     parent::__construct($scenario);
 }
Esempio n. 6
0
 public function beforeDelete()
 {
     $city = City::model()->findAll();
     foreach ($city as $id => $item) {
         $citys = explode('|', $item->state_id);
         if (in_array($this->state_id, array_values($citys))) {
             Yii::app()->setFlashMessage('Can not delete, State in use in city master', 'error');
             return false;
         }
     }
     return parent::beforeDelete();
 }
Esempio n. 7
0
 public function beforeDelete()
 {
     $suppliers = Contact::model()->findAll();
     foreach ($suppliers as $id => $item) {
         $vehicles = explode('|', $item->city_id);
         if (in_array($this->city_id, array_values($vehicles))) {
             Yii::app()->setFlashMessage('Can not delete, City in use in contact master', 'error');
             return false;
         }
     }
     return parent::beforeDelete();
 }
Esempio n. 8
0
 public function beforeDelete()
 {
     $contactgroup = Contact::model()->findAll();
     foreach ($contactgroup as $id => $item) {
         $contactgroups = explode('|', $item->contact_group_id);
         if (in_array($this->contact_group_id, array_values($contactgroups))) {
             Yii::app()->setFlashMessage('Can not delete these, Contact Group, it is used in contact master', 'error');
             return false;
         }
     }
     return parent::beforeDelete();
 }
Esempio n. 9
0
 public function beforeDelete()
 {
     $contact_title = getContactTitleDelete();
     foreach ($contact_title as $id => $item) {
         $contact_titles = explode('|', $item["contact_title_id"]);
         if (in_array($this->contact_title_id, array_values($contact_titles))) {
             Yii::app()->setFlashMessage('Can not delete, Contact Title in use in contact master', 'error');
             return false;
         }
     }
     return parent::beforeDelete();
 }
Esempio n. 10
0
 public function beforeDelete()
 {
     //        $project = projects::model()->findAll();
     //        $zone = Zone::model()->findAll();
     //        foreach ($project as $id => $item) {
     //            $projects = explode('|', $item->country_id);
     //            if (in_array($this->country_id, array_values($projects))) {
     //                Yii::app()->setFlashMessage('Can not delete, Country in use in project master', 'error');
     //                return false;
     //            }
     //        }
     return parent::beforeDelete();
 }
Esempio n. 11
0
 public function beforeDelete()
 {
     // To Do validation
     //        $project = projects::model()->findAll();
     //        foreach ($project as $id => $item) {
     //            $projects = explode('|', $item->country_id);
     //            if (in_array($this->country_id, array_values($projects))) {
     //                Yii::app()->setFlashMessage('you dont delete this country', 'error');
     //                return false;
     //            }
     //        }
     return parent::beforeDelete();
 }
Esempio n. 12
0
 /**
  * Returns the static model of Settings table
  *
  * @static
  * @access public
  * @param int $surveyid
  * @return Tokens_dynamic
  */
 public static function model($sid = NULL)
 {
     $refresh = false;
     if (!is_null($sid)) {
         self::sid($sid);
         $refresh = true;
     }
     $model = parent::model(__CLASS__);
     //We need to refresh if we changed sid
     if ($refresh === true) {
         $model->refreshMetaData();
     }
     return $model;
 }
Esempio n. 13
0
 public function findByPk($pk, $condition = '', $params = array())
 {
     if (empty($condition) && empty($params)) {
         if (array_key_exists($pk, $this->findByPkCache)) {
             return $this->findByPkCache[$pk];
         } else {
             $result = parent::findByPk($pk, $condition, $params);
             if (!is_null($result)) {
                 $this->findByPkCache[$pk] = $result;
             }
             return $result;
         }
     }
     return parent::findByPk($pk, $condition, $params);
 }
Esempio n. 14
0
 /**
  * Returns the static model of Settings table
  *
  * @static
  * @access public
  * @param string $class
  * @return Answer
  */
 public static function model($class = __CLASS__)
 {
     return parent::model($class);
 }
 /**
  * This method is invoked before saving a record (after validation, if any).
  * The default implementation raises the {@link onBeforeSave} event.
  * You may override this method to do any preparation work for record saving.
  * Use {@link isNewRecord} to determine whether the saving is
  * for inserting or updating record.
  * Make sure you call the parent implementation so that the event is raised properly.
  * @return boolean whether the saving should be executed. Defaults to true.
  */
 public function beforeSave()
 {
     // Postgres delivers bytea fields as streams :-o - if this is not done it looks like Postgres saves something unexpected
     if ($this->usesleft > 0) {
         $this->completed = 'N';
     }
     return parent::beforeSave();
 }
Esempio n. 16
0
 /**
  * This method is invoked before saving a record (after validation, if any).
  * The default implementation raises the {@link onBeforeSave} event.
  * You may override this method to do any preparation work for record saving.
  * Use {@link isNewRecord} to determine whether the saving is
  * for inserting or updating record.
  * Make sure you call the parent implementation so that the event is raised properly.
  * @return boolean whether the saving should be executed. Defaults to true.
  */
 public function beforeSave()
 {
     if ($this->usesleft > 0) {
         $this->completed = 'N';
     }
     return parent::beforeSave();
 }
Esempio n. 17
0
 /**
  * Make sure we don't save a new question group
  * while the survey is active.
  *
  * @return bool
  */
 protected function beforeSave()
 {
     if (parent::beforeSave()) {
         $surveyIsActive = Survey::model()->findByPk($this->sid)->active !== 'N';
         if ($surveyIsActive && $this->getIsNewRecord()) {
             return false;
         }
         return true;
     } else {
         return false;
     }
 }
Esempio n. 18
0
 /**
  * This method is invoked before saving a record (after validation, if any).
  * The default implementation raises the {@link onBeforeSave} event.
  * You may override this method to do any preparation work for record saving.
  * Use {@link isNewRecord} to determine whether the saving is
  * for inserting or updating record.
  * Make sure you call the parent implementation so that the event is raised properly.
  * @return boolean whether the saving should be executed. Defaults to true.
  */
 public function beforeSave()
 {
     // Postgres delivers bytea fields as streams :-o - if this is not done it looks like Postgres saves something unexpected
     if (gettype($this->password) == 'resource') {
         $this->password = stream_get_contents($this->password, -1, 0);
     }
     return parent::beforeSave();
 }