From 4aa17e5210363b240b06445e18e4b1fbcd41880b Mon Sep 17 00:00:00 2001 From: Roland Schneider Date: Fri, 19 Feb 2016 21:33:06 +0100 Subject: [PATCH 1/2] Add key controller to add/update keys , add bakcend skin param --- backend/config/main.php | 3 -- backend/controllers/KeyController.php | 49 ++++++++++++++++++++++----- backend/views/key/import.php | 18 +++++++++- backend/views/layouts/content.php | 1 - backend/views/layouts/header.php | 3 +- backend/views/layouts/main.php | 3 +- common/components/Helper.php | 7 ++++ common/config/params.php | 5 +-- common/models/Key.php | 2 ++ frontend/models/KeyToggleForm.php | 11 +++++- 10 files changed, 83 insertions(+), 19 deletions(-) diff --git a/backend/config/main.php b/backend/config/main.php index 92646c9..7a2e2e4 100644 --- a/backend/config/main.php +++ b/backend/config/main.php @@ -32,9 +32,6 @@ return [ 'session' => [ 'name' => '_backendSessionId', // unique for backend 'savePath' => __DIR__ . '/../runtime', // a temporary folder on backend - 'cookieParams' => [ - 'path' => '/backend/web', - ], ], 'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, diff --git a/backend/controllers/KeyController.php b/backend/controllers/KeyController.php index 847401b..6c4aaa4 100644 --- a/backend/controllers/KeyController.php +++ b/backend/controllers/KeyController.php @@ -33,7 +33,7 @@ class KeyController extends Controller { 'rules' => [ // allow authenticated users [ - 'actions' => ['create','index','view','update'], + 'actions' => ['create','index','view','update','import'], 'allow' => true, 'roles' => ['admin','employee','reception'], ], @@ -156,10 +156,18 @@ class KeyController extends Controller { public function actionImport() { $model = new KeyImportForm(); $arr = [ ]; + $updated = 0; + $inserted = 0; + $failed = 0; + $found = 0; if (Yii::$app->request->isPost) { + + $model->file = UploadedFile::getInstance ( $model, 'file' ); + if ( isset($model->file)){ + // print_r($model->file); // $model->message = "ok"; $file = $model->file->tempName; @@ -191,25 +199,48 @@ class KeyController extends Controller { $arr [] = $item; } } + $found = count($arr); foreach ( $arr as $item ) { try { - $key = new Key (); - $key->number = $item ['number']; - $key->rfid_key = $item ['key']; - $key->status = Key::STATUS_ACTIVE; - $key->type = Key::TYPE_NORMAL; - $key->save ( false ); + $key = Key::findOne(['number' => $item ['number']]); + if ( !isset($key)){ + $key = new Key (); + $key->number = $item ['number']; + $key->rfid_key = $item ['key']; + $key->status = Key::STATUS_ACTIVE; + $key->type = Key::TYPE_NORMAL; + $key->save ( false ); + $inserted++; + }else{ + $key->rfid_key = $item['key']; + $key->update(false); + $updated++; + } } catch ( \Exception $e ) { \Yii::error ( "Failed to save key: " . $key->number ); + $failed++; + } } + $message = "Fájlnév: " . $model->file->name; + $message .= "
Fájlból beolvasva: $found "; + $message .= "
Új kulcs sikeresen importálva: $inserted "; + $message .= "
Rendszerben lévő kulcs sikeresen módosítva: $updated "; + $message .= "
Sikertelen kulcs importálás/módosítás: $failed "; + \Yii::$app->session->setFlash('success',$message); - $this->redirect ( [ + $model->message = $message; + + \Yii::$app->session->set('mymessage',$model->message); + + return $this->redirect ( [ 'import' ] ); + } } - + $model->message = \Yii::$app->session->get('mymessage'); + \Yii::$app->session->remove('mymessage'); return $this->render ( 'import', [ 'model' => $model ] ); diff --git a/backend/views/key/import.php b/backend/views/key/import.php index b4f5923..99d2705 100644 --- a/backend/views/key/import.php +++ b/backend/views/key/import.php @@ -9,8 +9,24 @@ use yii\helpers\Html; message); + if ( isset($model->message)){ + ?> +
+
+ +
Importálás összegzése
+
+ message;?> + +
+
+ + + + \ No newline at end of file diff --git a/backend/views/layouts/content.php b/backend/views/layouts/content.php index f4c502f..7dca653 100644 --- a/backend/views/layouts/content.php +++ b/backend/views/layouts/content.php @@ -1,6 +1,5 @@ diff --git a/backend/views/layouts/header.php b/backend/views/layouts/header.php index 9eb7bf3..0d41688 100644 --- a/backend/views/layouts/header.php +++ b/backend/views/layouts/header.php @@ -1,5 +1,6 @@