From 6458a72936a498ac823b8aff33963ba6def82696 Mon Sep 17 00:00:00 2001 From: Roland Schneider Date: Sat, 30 Apr 2016 12:32:28 +0200 Subject: [PATCH] add multiple detsta upload --- backend/models/DestaUploadForm.php | 54 ++++++++++++++++++++++---- backend/views/ugiro/view.php | 27 ++++++++----- common/components/DetStaDBSave.php | 3 ++ common/components/DetStatProcessor.php | 5 ++- common/models/LoginForm.php | 11 +++++- 5 files changed, 80 insertions(+), 20 deletions(-) diff --git a/backend/models/DestaUploadForm.php b/backend/models/DestaUploadForm.php index f9b3215..9c36f0c 100644 --- a/backend/models/DestaUploadForm.php +++ b/backend/models/DestaUploadForm.php @@ -6,6 +6,8 @@ use yii\base\Model; use yii\web\UploadedFile; use common\components\giro\GiroDETSTA; use common\models\Ugiro; +use common\components\DetStatProcessor; +use common\components\Helper; class DestaUploadForm extends Model { @@ -41,26 +43,62 @@ class DestaUploadForm extends Model $this->koteg = $koteg; if (!isset($koteg)){ $this->addError($attribute,"Nincs ilyen köteg! ( Datum: $datum, Sorszam: $number )"); - }else{ - if ( $koteg->status != Ugiro::$STATUS_SENT ){ - $idKoteg = $this->koteg->id_ugiro; - $this->addError($attribute,"A köteg detsta fájl-ja már fel van töltve !( Köteg azonosító: $idKoteg )"); - } } +// else{ +// if ( $koteg->status != Ugiro::$STATUS_SENT ){ +// $idKoteg = $this->koteg->id_ugiro; +// $this->addError($attribute,"A köteg detsta fájl-ja már fel van töltve !( Köteg azonosító: $idKoteg )"); +// } +// } + } } + +// public function saveMessageDetsta($filename){ +// $uzenetSzoveg = $this->readDetstaUzenet($filename); +// $saver = new DetStaDBSave( +// [ +// 'giroDETSTA' => $this->detstatUzenet, +// 'koteg' => $this->koteg, +// 'idUser' =>\Yii::$app->user->id +// ]); +// $saver->run(); +// } + + +// public function readDetstaUzenet($filename){ + +// // $filename = \Yii::getAlias("@webroot") ."/" .$this->koteg->desta_path; +// $content = file_get_contents($filename); +// return GiroDETSTA::parse($content); + + + +// } + + + public function upload() { if ($this->validate()) { $path = 'giro/valasz/' . $this->destaFile->baseName . '.' . $this->destaFile->extension; $this->destaFile->saveAs( $path ); - $this->koteg->desta_path = $path; - $this->koteg->status = Ugiro::$STATUS_RECIEVED; - $this->koteg->save(false); + + + set_time_limit ( 1200 ); // 20 perc + $processor = new DetStatProcessor( [ + 'koteg' => $this->koteg, + 'path' => $path + ] ); + $processor->run (); + + Helper::flash("success", "Detsta fájl feldolgozva!"); + + return true; } else { return false; diff --git a/backend/views/ugiro/view.php b/backend/views/ugiro/view.php index 10c587b..4b51b3e 100644 --- a/backend/views/ugiro/view.php +++ b/backend/views/ugiro/view.php @@ -71,14 +71,14 @@ $attributes = [ - if ( $model->status == Ugiro::$STATUS_RECIEVED || $model->status == Ugiro::$STATUS_FINISHED ){ - $attributes[] = [ - 'attribute' => 'desta_path', - 'label' => 'Detsta Fájl', - 'value' => Html::a( "Letöltés" , Url::base() ."/". $model->desta_path , ['target' =>'_blank' ,'download' =>'CS-BESZED.' .$model->id_ugiro ] ), - 'format' => 'raw' - ]; - } +// if ( $model->status == Ugiro::$STATUS_RECIEVED || $model->status == Ugiro::$STATUS_FINISHED ){ +// $attributes[] = [ +// 'attribute' => 'desta_path', +// 'label' => 'Detsta Fájl', +// 'value' => Html::a( "Letöltés" , Url::base() ."/". $model->desta_path , ['target' =>'_blank' ,'download' =>'CS-BESZED.' .$model->id_ugiro ] ), +// 'format' => 'raw' +// ]; +// } ?> @@ -100,7 +100,14 @@ $attributes = [ 'label' => 'Létrehozva' ], [ - 'class' => ActionColumn::className() + 'class' => ActionColumn::className() , + 'template' =>'{view}', + 'urlCreator' => function ($action, $model, $key, $index){ + if ($action == 'view' ){ + return Url::toRoute(['message-detsta/view','id' => $model->id_message]); + } + return null; + } ] ] @@ -115,7 +122,7 @@ $attributes = [
status == Ugiro::$STATUS_RECIEVED ){ - echo Html::a("DetSta Fájl Feldoglozás",['view', 'id' => $model->id_ugiro] ,['data-method' =>'post', 'class' => 'btn btn-danger']); + //echo Html::a("DetSta Fájl Feldoglozás",['view', 'id' => $model->id_ugiro] ,['data-method' =>'post', 'class' => 'btn btn-danger']); } echo Html::a("Megbízások a kötegben",['ticket-installment-request/index', 'TicketInstallmentRequestSearch[id_ugiro]' => $model->id_ugiro] ,[ 'class' => 'btn btn-primary']); echo Html::a("PDF", Url::current(['output' => 'pdf']) ,[ 'class' => 'btn btn-primary']); diff --git a/common/components/DetStaDBSave.php b/common/components/DetStaDBSave.php index bdbc84a..fa92eed 100644 --- a/common/components/DetStaDBSave.php +++ b/common/components/DetStaDBSave.php @@ -36,6 +36,8 @@ class DetStaDBSave extends Object /**messagedetsta lab*/ public $messageLab; + public $path; + /**messagedetsta tetelek*/ public $messageTetelek = []; @@ -56,6 +58,7 @@ class DetStaDBSave extends Object protected function saveMessageDetsta( ) { $this->message = new MessageDetsta(); $this->message->id_user = $this->idUser; + $this->message->path = $this->path; if ( isset( $this->koteg ) ){ $this->message->id_ugiro = $this->koteg->id_ugiro; } diff --git a/common/components/DetStatProcessor.php b/common/components/DetStatProcessor.php index 47a2f70..91d30d8 100644 --- a/common/components/DetStatProcessor.php +++ b/common/components/DetStatProcessor.php @@ -24,6 +24,8 @@ class DetStatProcessor extends Object{ /**aktuális koteg, config paraméterként kapju*/ public $koteg; + public $path; + public $idKoteg; public $detstatUzenet; public $megbizasok; @@ -44,6 +46,7 @@ class DetStatProcessor extends Object{ $saver = new DetStaDBSave( [ 'giroDETSTA' => $this->detstatUzenet, + 'path' => $this->path, 'koteg' => $this->koteg, 'idUser' =>\Yii::$app->user->id ]); @@ -71,7 +74,7 @@ class DetStatProcessor extends Object{ public function readDetstaUzenet(){ - $filename = \Yii::getAlias("@webroot") ."/" .$this->koteg->desta_path; + $filename = \Yii::getAlias("@webroot") ."/" .$this->path; $content = file_get_contents($filename); $this->detstatUzenet = GiroDETSTA::parse($content); diff --git a/common/models/LoginForm.php b/common/models/LoginForm.php index d83907b..c1ecd18 100644 --- a/common/models/LoginForm.php +++ b/common/models/LoginForm.php @@ -3,6 +3,7 @@ namespace common\models; use Yii; use yii\base\Model; +use yii\helpers\VarDumper; /** * Login form @@ -68,6 +69,8 @@ class LoginForm extends Model if ($this->validate()) { return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600 * 24 * 30 : 0); } else { + \Yii::error("Belépés - validáció sikertelen"); + \Yii::error( $this->getErrors()); return false; } } @@ -80,10 +83,12 @@ class LoginForm extends Model protected function getUser() { if ($this->_user === null) { + \Yii::info("admin login - find user by name..."); $this->_user = User::findByUsername($this->username); } if ( $this->_user != null ){ + \Yii::info("Felhasználónév rendben..."); if ( $this->roles != null ){ $canLogin = false; foreach ($this->roles as $role){ @@ -91,10 +96,14 @@ class LoginForm extends Model } if ( !$canLogin ){ - \Yii::info("user ".$this->_user->username." has no permission to login to administration area!"); + \Yii::error("user ".$this->_user->username." has no permission to login to administration area!"); $this->_user = null; + }else{ + \Yii::info("user ".$this->_user->username." has permission to login to administration area!"); } } + }else{ + \Yii::error("Felhasználó nem található: " .$this->username); } return $this->_user;