$model->checkin_id = $model->checkinModel->id;
$model->id = $model->checkinModel->id;
- $is_start = $model->d_id == AdminGroup::GROUP_ADMINISTRATORS ?
- count($dayCheckins) % 2 == 0 ? true : false :
- $model->status = AdminCheckin::TYPE_START ? true : false;
+ $is_start = ($model->d_id == AdminGroup::GROUP_ADMINISTRATORS) ?
+ (count($dayCheckins) % 2 == 0 ? true : false) :
+ ($model->status == AdminCheckin::TYPE_START ? true : false);
+
TimetableFactModel::setValues($model, $is_start);
if ($this->controller->request->getHeaders()->get('Accept') == 'application/json') {
if ($model = self::find()
->where(['admin_id' => $adminCheckin->admin_id, 'is_opening' => true])
->andWhere(['between', 'date_shift', date('Y-m-d', strtotime($adminCheckin->date . ' -1 day')), date('Y-m-d', strtotime($adminCheckin->date))])
- ->andWhere(['status' => AdminCheckin::TYPE_START])
+ ->andWhere(['status' => array(AdminCheckin::TYPE_START, AdminCheckin::TYPE_APPEAR)])
->one()) {
- $model->is_opening = false;
- $model->is_close = true;
$model->date_end = date("Y-m-d", strtotime($adminCheckin->time));
$model->time_end = date("H:i:s", strtotime($adminCheckin->time));
$model->work_time = min(abs(strtotime($model->date_end . $model->time_end) + 600 - strtotime($model->date_start . $model->time_start)) / 3600, self::WORK_HOURS_TIME);
$model->checkin_end_id = $adminCheckin->id;
} else {
$model = new TimetableFactModel();
- $model->is_opening = true;
- $model->is_close = false;
$model->date_end = null;
$model->date_start = date("Y-m-d", strtotime($adminCheckin->time));
$model->time_start = date("H:i:s", strtotime($adminCheckin->time));
}
$model->is_opening = $is_start;
+ $model->is_close = !$is_start;
if ($model->validate()) {
$model->save();