update manage schedule

This commit is contained in:
2022-09-26 09:43:12 +07:00
parent ac0588b711
commit 33e439de8f
16 changed files with 677 additions and 25 deletions

View File

@@ -76,6 +76,10 @@ class ListManagementController extends Controller {
]);
$updating = \app\models\SyncUrl::findOne(['key_config' => 'updating']);
}
$dataProvider->pagination->pageSize = 20;
if (Yii::$app->request->get("per-page"))
$dataProvider->pagination->pageSize = Yii::$app->request->get("per-page");
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
@@ -808,4 +812,110 @@ class ListManagementController extends Controller {
return file_get_contents("http://minio1.beetai.com/biface-school/origin/385/454_20201126101221879048.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minioadmin%2F20201230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201230T081350Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=df7586a01bb128c0585edd87d1024b1ddb33483fd335e81238103fd2467b4772");
}
public function actionSchedule() {
Yii::$app->response->format = "json";
if (Yii::$app->request->post()) {
$post = Yii::$app->request->post();
$model = new \app\models\Schedule();
$datas = [];
foreach ($post['lists'] as $key => $value) {
$datas[] = [$value, $post['fromTime'], $post['toTime'], $post['fromDate'], $post['toDate'], implode(",", $post['dateOfWeek'])];
}
$model->multiCreate($datas);
return ["status" => true];
} else {
return [
"title" => Yii::t("app", "GAN_LICH_TRINH"),
"form" => $this->renderPartial("schedule", ["type" => "create"])
];
}
}
public function actionEditSchedule($id) {
Yii::$app->response->format = "json";
$model = \app\models\Schedule::findOne($id);
if (Yii::$app->request->post()) {
$post = Yii::$app->request->post();
$dateOfWeek = implode(",", $post['dateOfWeek']);
if ($post['editAll'] == "true" && isset($post['lists'])) {
foreach ($post['lists'] as $key => $value) {
$schedule = \app\models\Schedule::findOne([
'from_time' => $model->from_time,
'to_time' => $model->to_time,
'from_date' => $model->from_date,
'to_date' => $model->to_date,
'date_of_week' => $model->date_of_week,
'staff_id' => $value
]);
if ($schedule) {
$schedule->from_time = $post['fromTime'];
$schedule->to_time = $post['toTime'];
$schedule->from_date = $post['fromDate'];
$schedule->to_date = $post['toDate'];
$schedule->date_of_week = $dateOfWeek;
$schedule->save();
} else {
$modelSchedule = new \app\models\Schedule();
$modelSchedule->create([
'staff_id' => $value,
'from_time' => $post['fromTime'],
'to_time' => $post['toTime'],
'from_date' => $post['fromDate'],
'to_date' => $post['toDate'],
'date_of_week' => $dateOfWeek
]);
}
}
} else {
$model->from_time = $post['fromTime'];
$model->to_time = $post['toTime'];
$model->from_date = $post['fromDate'];
$model->to_date = $post['toDate'];
$model->date_of_week = $dateOfWeek;
$model->save();
}
return ["status" => true];
} else {
return [
"title" => Yii::t("app", "SUA_LICH_TRINH"),
"form" => $this->renderPartial("schedule", [
"type" => "edit",
"model" => $model
])
];
}
}
public function actionDeleteSchedule($id) {
Yii::$app->response->format = "json";
$model = \app\models\Schedule::findOne($id);
if (Yii::$app->request->post()) {
$post = Yii::$app->request->post();
if ($post['editAll'] == "true" && isset($post['lists'])) {
foreach ($post['lists'] as $key => $value) {
$schedule = \app\models\Schedule::findOne([
'from_time' => $model->from_time,
'to_time' => $model->to_time,
'from_date' => $model->from_date,
'to_date' => $model->to_date,
'date_of_week' => $model->date_of_week,
'staff_id' => $value
]);
if ($schedule)
$schedule->delete();
}
} else
$model->delete();
return ["status" => true];
} else {
return [
"title" => Yii::t("app", "XOA_LICH_TRINH"),
"form" => $this->renderPartial("schedule-delete", [
"model" => $model
])
];
}
}
}