add inventory admin fix, add procurement update
This commit is contained in:
@@ -11,6 +11,8 @@ use yii\filters\VerbFilter;
|
||||
use common\models\User;
|
||||
use yii\db\Query;
|
||||
use backend\models\InventoryItemSearch;
|
||||
use common\models\InventoryItem;
|
||||
use common\components\Helper;
|
||||
|
||||
/**
|
||||
* InventoryController implements the CRUD actions for Inventory model.
|
||||
@@ -23,7 +25,7 @@ class InventoryController extends Controller
|
||||
'verbs' => [
|
||||
'class' => VerbFilter::className(),
|
||||
'actions' => [
|
||||
'delete' => ['post'],
|
||||
'close' => ['post'],
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -55,12 +57,13 @@ class InventoryController extends Controller
|
||||
$model = new Inventory();
|
||||
$user = User::findOne(\Yii::$app->user->id);
|
||||
|
||||
|
||||
$model->status = Inventory::$STATUS_OPEN;
|
||||
|
||||
$model->name = 'Leltár_'.date('Ymd_His') .'_' . $user->username;
|
||||
|
||||
$model->id_user = \Yii::$app->user->id;
|
||||
if ($model->load(Yii::$app->request->post()) && $model->save()) {
|
||||
return $this->redirect(['view', 'id' => $model->id_inventory]);
|
||||
return $this->redirect(['inventory-item/index', 'id' => $model->id_inventory]);
|
||||
} else {
|
||||
}
|
||||
return $this->render('create', [
|
||||
@@ -69,6 +72,22 @@ class InventoryController extends Controller
|
||||
}
|
||||
|
||||
|
||||
public function actionClose($id){
|
||||
$model = $this->findModel($id);
|
||||
|
||||
$model->status = Inventory::$STATUS_CLOSED;
|
||||
|
||||
$model->save(false);
|
||||
|
||||
$db = \Yii::$app->db;
|
||||
$command = $db->createCommand(InventoryItem::$UPDATE_COUNT,[':id_inventory' => $id]);
|
||||
$command->execute();
|
||||
|
||||
Helper::flash("success", "Leltár lezárva, leltározott termékek darabszáma felülírva!");
|
||||
|
||||
return $this->redirect(['inventory-item/index','id' => $model->id_inventory]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Finds the Inventory model based on its primary key value.
|
||||
|
||||
@@ -12,6 +12,7 @@ use backend\models\InventoryItemForm;
|
||||
use common\models\Inventory;
|
||||
use yii\helpers\Url;
|
||||
use common\models\Product;
|
||||
use yii\web\NotAcceptableHttpException;
|
||||
|
||||
/**
|
||||
* InventoryItemController implements the CRUD actions for InventoryItem model.
|
||||
@@ -177,7 +178,11 @@ class InventoryItemController extends Controller
|
||||
{
|
||||
$model = $this->findModel($id);
|
||||
$inventory = Inventory::findOne($model->id_inventory);
|
||||
|
||||
|
||||
if ( !$inventory->isOpen()){
|
||||
throw new NotAcceptableHttpException("A leltár elem nem található");
|
||||
}
|
||||
|
||||
if ($model->load(Yii::$app->request->post()) && $model->save()) {
|
||||
|
||||
$prev = Url::previous("inventory-item-index");
|
||||
|
||||
@@ -14,6 +14,7 @@ use common\models\User;
|
||||
use common\components\Helper;
|
||||
use common\models\Account;
|
||||
use yii\helpers\Url;
|
||||
use backend\models\ProcurementUpdate;
|
||||
|
||||
/**
|
||||
* ProcurementController implements the CRUD actions for Procurement model.
|
||||
@@ -30,7 +31,7 @@ class ProcurementController extends \backend\controllers\BackendController
|
||||
'rules' => [
|
||||
// allow authenticated users
|
||||
[
|
||||
'actions' => ['create','index','view', 'create-product'],
|
||||
'actions' => ['create','index','view', 'create-product','update'],
|
||||
'allow' => true,
|
||||
'roles' => ['@'],
|
||||
],
|
||||
@@ -79,11 +80,34 @@ class ProcurementController extends \backend\controllers\BackendController
|
||||
*/
|
||||
public function actionView($id)
|
||||
{
|
||||
|
||||
|
||||
return $this->render('view', [
|
||||
'model' => $this->findModel($id),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update procurement
|
||||
* @param integer $id
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionUpdate($id)
|
||||
{
|
||||
$model = ProcurementUpdate::findOne($id);
|
||||
if ( !isset($model)){
|
||||
throw new NotFoundHttpException("Az oldal nem található");
|
||||
}
|
||||
|
||||
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
|
||||
$model->save();
|
||||
}
|
||||
|
||||
return $this->render('update', [
|
||||
'model' => $model
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new Procurement model.
|
||||
* If creation is successful, the browser will be redirected to the 'view' page.
|
||||
|
||||
@@ -62,9 +62,14 @@ class TransferController extends \backend\controllers\BackendController
|
||||
|
||||
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
|
||||
|
||||
|
||||
echo "output:".$searchModel->output;
|
||||
|
||||
if ( $searchModel->output =='pdf'){
|
||||
$this->downloadPaymentLater($dataProvider);
|
||||
}
|
||||
|
||||
$accounts = Account::read();
|
||||
|
||||
|
||||
$users = User::read();
|
||||
|
||||
Url::remember("payment_later",Url::current());
|
||||
@@ -76,6 +81,30 @@ class TransferController extends \backend\controllers\BackendController
|
||||
'users' => $users,
|
||||
]);
|
||||
}
|
||||
|
||||
protected function downloadPaymentLater($dataProvider) {
|
||||
|
||||
// $mpdf = new \mPDF ( 'utf-8', 'A4' );
|
||||
$mpdf = new \mPDF ( 'utf-8', 'A4-L' );
|
||||
$fn = "utolagos_fizetesek.pdf";
|
||||
|
||||
$mpdf->useSubstitutions = false;
|
||||
$mpdf->simpleTables = true;
|
||||
$mpdf->SetHeader ( "" );
|
||||
$mpdf->setFooter ( '{PAGENO} / {nb}' );
|
||||
|
||||
|
||||
|
||||
$stylesheet = file_get_contents ( \Yii::getAlias ( '@vendor' . '/bower/bootstrap/dist/css/bootstrap.css' ) ); // external css
|
||||
$mpdf->WriteHTML ( $stylesheet, 1 );
|
||||
|
||||
$mpdf->WriteHTML ( $this->renderPartial ( '_pdf_payment_later.php', [
|
||||
'dataProvider' => $dataProvider
|
||||
] ) );
|
||||
$mpdf->Output ( $fn, 'D' );
|
||||
exit ();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Lists all Transfer models.
|
||||
|
||||
@@ -11,200 +11,254 @@ use yii\filters\VerbFilter;
|
||||
use common\components\DetStatProcessor;
|
||||
use backend\models\DestaUploadForm;
|
||||
use yii\web\UploadedFile;
|
||||
use yii\data\ArrayDataProvider;
|
||||
use yii\db\Query;
|
||||
use yii\data\ActiveDataProvider;
|
||||
|
||||
/**
|
||||
* UgiroController implements the CRUD actions for Ugiro model.
|
||||
* TODO: FIX ACCESS
|
||||
*/
|
||||
class UgiroController extends Controller
|
||||
{
|
||||
public function behaviors()
|
||||
{
|
||||
return [
|
||||
'verbs' => [
|
||||
'class' => VerbFilter::className(),
|
||||
'actions' => [
|
||||
'delete' => ['post'],
|
||||
],
|
||||
],
|
||||
'access' => [
|
||||
'class' => \yii\filters\AccessControl::className (),
|
||||
'rules' => [
|
||||
// allow authenticated users
|
||||
[
|
||||
'actions' => [],
|
||||
'allow' => true,
|
||||
'roles' => [
|
||||
'admin',
|
||||
'employee',
|
||||
'reception'
|
||||
]
|
||||
]
|
||||
]
|
||||
// everything else is denied
|
||||
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Lists all Ugiro models.
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionIndex()
|
||||
{
|
||||
$searchModel = new UgiroSearch();
|
||||
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
|
||||
|
||||
return $this->render('index', [
|
||||
'searchModel' => $searchModel,
|
||||
'dataProvider' => $dataProvider,
|
||||
]);
|
||||
}
|
||||
/**
|
||||
* Lists all Ugiro models.
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionItems($id)
|
||||
{
|
||||
$searchModel = new UgiroSearch();
|
||||
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
|
||||
|
||||
return $this->render('index', [
|
||||
'searchModel' => $searchModel,
|
||||
'dataProvider' => $dataProvider,
|
||||
]);
|
||||
}
|
||||
|
||||
public function actionActivate(){
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays a single Ugiro model.
|
||||
* @param integer $id
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionView($id)
|
||||
{
|
||||
$model = $this->findModel($id);
|
||||
if (Yii::$app->request->isPost) {
|
||||
if ($model->status == Ugiro::$STATUS_RECIEVED){
|
||||
set_time_limit(1200);//20 perc
|
||||
$processor = new DetStatProcessor(
|
||||
['koteg' => $model]
|
||||
);
|
||||
$processor->run();
|
||||
}else{
|
||||
\Yii::$app->session->setFlash('danger','Nem lehet futtatni a fájlt');
|
||||
\Yii::error("a koteg státusza nem STATUS_RECIEVED. A koteg azonosíótja:" . $model->id_ugiro );
|
||||
}
|
||||
}
|
||||
|
||||
return $this->render('view', [
|
||||
'model' => $this->findModel($id),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new Ugiro model.
|
||||
* If creation is successful, the browser will be redirected to the 'view' page.
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionCreate()
|
||||
{
|
||||
$model = new Ugiro();
|
||||
|
||||
if ($model->load(Yii::$app->request->post()) && $model->save()) {
|
||||
return $this->redirect(['view', 'id' => $model->id_ugiro]);
|
||||
} else {
|
||||
return $this->render('create', [
|
||||
'model' => $model,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates an existing Ugiro model.
|
||||
* If update is successful, the browser will be redirected to the 'view' page.
|
||||
* @param integer $id
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionUpdate($id)
|
||||
{
|
||||
$model = $this->findModel($id);
|
||||
|
||||
if ($model->load(Yii::$app->request->post()) && $model->save()) {
|
||||
return $this->redirect(['view', 'id' => $model->id_ugiro]);
|
||||
} else {
|
||||
return $this->render('update', [
|
||||
'model' => $model,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes an existing Ugiro model.
|
||||
* If deletion is successful, the browser will be redirected to the 'index' page.
|
||||
* @param integer $id
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionDelete($id)
|
||||
{
|
||||
$this->findModel($id)->delete();
|
||||
|
||||
return $this->redirect(['index']);
|
||||
}
|
||||
|
||||
public function actionDetsta(){
|
||||
|
||||
$ugiro = Ugiro::findOne(31);
|
||||
$model = new DetStatProcessor(
|
||||
['koteg' => $ugiro]
|
||||
);
|
||||
|
||||
|
||||
return $this->render('detsta', [
|
||||
'model' => $model,
|
||||
]);
|
||||
}
|
||||
|
||||
public function actionUpload(){
|
||||
$model = new DestaUploadForm();
|
||||
|
||||
if (Yii::$app->request->isPost) {
|
||||
$model->destaFile = UploadedFile::getInstance($model, 'destaFile');
|
||||
if ($model->upload()) {
|
||||
// file is uploaded successfully
|
||||
return $this->redirect(['view', 'id' => $model->koteg->id_ugiro]);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->render('upload', ['model' => $model]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function actionGenerateDetsta(){
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Finds the Ugiro model based on its primary key value.
|
||||
* If the model is not found, a 404 HTTP exception will be thrown.
|
||||
* @param integer $id
|
||||
* @return Ugiro the loaded model
|
||||
* @throws NotFoundHttpException if the model cannot be found
|
||||
*/
|
||||
protected function findModel($id)
|
||||
{
|
||||
if (($model = Ugiro::findOne($id)) !== null) {
|
||||
return $model;
|
||||
} else {
|
||||
throw new NotFoundHttpException('The requested page does not exist.');
|
||||
}
|
||||
}
|
||||
class UgiroController extends Controller {
|
||||
public function behaviors() {
|
||||
return [
|
||||
'verbs' => [
|
||||
'class' => VerbFilter::className (),
|
||||
'actions' => [
|
||||
'delete' => [
|
||||
'post'
|
||||
]
|
||||
]
|
||||
],
|
||||
'access' => [
|
||||
'class' => \yii\filters\AccessControl::className (),
|
||||
'rules' => [
|
||||
// allow authenticated users
|
||||
[
|
||||
'actions' => [ ],
|
||||
'allow' => true,
|
||||
'roles' => [
|
||||
'admin',
|
||||
'employee',
|
||||
'reception'
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
// everything else is denied
|
||||
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Lists all Ugiro models.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionIndex() {
|
||||
$searchModel = new UgiroSearch ();
|
||||
$dataProvider = $searchModel->search ( Yii::$app->request->queryParams );
|
||||
|
||||
return $this->render ( 'index', [
|
||||
'searchModel' => $searchModel,
|
||||
'dataProvider' => $dataProvider
|
||||
] );
|
||||
}
|
||||
/**
|
||||
* Lists all Ugiro models.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionItems($id) {
|
||||
$searchModel = new UgiroSearch ();
|
||||
$dataProvider = $searchModel->search ( Yii::$app->request->queryParams );
|
||||
|
||||
return $this->render ( 'index', [
|
||||
'searchModel' => $searchModel,
|
||||
'dataProvider' => $dataProvider
|
||||
] );
|
||||
}
|
||||
public function actionActivate() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays a single Ugiro model.
|
||||
*
|
||||
* @param integer $id
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionView($id) {
|
||||
$model = $this->findModel ( $id );
|
||||
if (Yii::$app->request->isPost) {
|
||||
if ($model->status == Ugiro::$STATUS_RECIEVED) {
|
||||
set_time_limit ( 1200 ); // 20 perc
|
||||
$processor = new DetStatProcessor ( [
|
||||
'koteg' => $model
|
||||
] );
|
||||
$processor->run ();
|
||||
} else {
|
||||
\Yii::$app->session->setFlash ( 'danger', 'Nem lehet futtatni a fájlt' );
|
||||
\Yii::error ( "a koteg státusza nem STATUS_RECIEVED. A koteg azonosíótja:" . $model->id_ugiro );
|
||||
}
|
||||
} else {
|
||||
if (isset ( $_GET ['output'] )) {
|
||||
$output = $_GET ['output'];
|
||||
|
||||
if ($output == 'pdf') {
|
||||
$this->downloadUgiro ( $model );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $this->render ( 'view', [
|
||||
'model' => $this->findModel ( $id )
|
||||
] );
|
||||
}
|
||||
protected function downloadUgiro($model) {
|
||||
|
||||
// $mpdf = new \mPDF ( 'utf-8', 'A4' );
|
||||
$mpdf = new \mPDF ( 'utf-8', 'A4-L' );
|
||||
$fn = "köteg.". $model->id_ugiro . ".pdf";
|
||||
|
||||
$mpdf->useSubstitutions = false;
|
||||
$mpdf->simpleTables = true;
|
||||
$mpdf->SetHeader ( "" );
|
||||
$mpdf->setFooter ( '{PAGENO} / {nb}' );
|
||||
|
||||
$query = new Query();
|
||||
$query->select([
|
||||
'customer.id_customer as customer_id_customer',
|
||||
'customer.name as customer_name',
|
||||
'customer.bank_account as customer_bank_account',
|
||||
'ticket_installment_request.money as request_money',
|
||||
'ticket_installment_request.request_target_time_at as request_request_target_time_at',
|
||||
]);
|
||||
$query->from('ticket_installment_request');
|
||||
$query->innerJoin('ugiro_request_assignment','ticket_installment_request.id_ticket_installment_request = ugiro_request_assignment.id_request');
|
||||
$query->innerJoin('customer','customer.id_customer = ticket_installment_request.id_customer');
|
||||
$query->andWhere(['ugiro_request_assignment.id_ugiro' => $model->id_ugiro]);
|
||||
$dataProvider = new ActiveDataProvider(
|
||||
[
|
||||
'query' => $query,
|
||||
'sort' => false,
|
||||
'pagination' => false
|
||||
]
|
||||
);
|
||||
|
||||
$stylesheet = file_get_contents ( \Yii::getAlias ( '@vendor' . '/bower/bootstrap/dist/css/bootstrap.css' ) ); // external css
|
||||
$mpdf->WriteHTML ( $stylesheet, 1 );
|
||||
|
||||
$mpdf->WriteHTML ( $this->renderPartial ( '_view_pdf.php', [
|
||||
'model' => $model,
|
||||
'dataProvider' => $dataProvider
|
||||
] ) );
|
||||
$mpdf->Output ( $fn, 'D' );
|
||||
exit ();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new Ugiro model.
|
||||
* If creation is successful, the browser will be redirected to the 'view' page.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionCreate() {
|
||||
$model = new Ugiro ();
|
||||
|
||||
if ($model->load ( Yii::$app->request->post () ) && $model->save ()) {
|
||||
return $this->redirect ( [
|
||||
'view',
|
||||
'id' => $model->id_ugiro
|
||||
] );
|
||||
} else {
|
||||
return $this->render ( 'create', [
|
||||
'model' => $model
|
||||
] );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates an existing Ugiro model.
|
||||
* If update is successful, the browser will be redirected to the 'view' page.
|
||||
*
|
||||
* @param integer $id
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionUpdate($id) {
|
||||
$model = $this->findModel ( $id );
|
||||
|
||||
if ($model->load ( Yii::$app->request->post () ) && $model->save ()) {
|
||||
return $this->redirect ( [
|
||||
'view',
|
||||
'id' => $model->id_ugiro
|
||||
] );
|
||||
} else {
|
||||
return $this->render ( 'update', [
|
||||
'model' => $model
|
||||
] );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes an existing Ugiro model.
|
||||
* If deletion is successful, the browser will be redirected to the 'index' page.
|
||||
*
|
||||
* @param integer $id
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionDelete($id) {
|
||||
$this->findModel ( $id )->delete ();
|
||||
|
||||
return $this->redirect ( [
|
||||
'index'
|
||||
] );
|
||||
}
|
||||
public function actionDetsta() {
|
||||
$ugiro = Ugiro::findOne ( 31 );
|
||||
$model = new DetStatProcessor ( [
|
||||
'koteg' => $ugiro
|
||||
] );
|
||||
|
||||
return $this->render ( 'detsta', [
|
||||
'model' => $model
|
||||
] );
|
||||
}
|
||||
public function actionUpload() {
|
||||
$model = new DestaUploadForm ();
|
||||
|
||||
if (Yii::$app->request->isPost) {
|
||||
$model->destaFile = UploadedFile::getInstance ( $model, 'destaFile' );
|
||||
if ($model->upload ()) {
|
||||
// file is uploaded successfully
|
||||
return $this->redirect ( [
|
||||
'view',
|
||||
'id' => $model->koteg->id_ugiro
|
||||
] );
|
||||
}
|
||||
}
|
||||
|
||||
return $this->render ( 'upload', [
|
||||
'model' => $model
|
||||
] );
|
||||
}
|
||||
public function actionGenerateDetsta() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the Ugiro model based on its primary key value.
|
||||
* If the model is not found, a 404 HTTP exception will be thrown.
|
||||
*
|
||||
* @param integer $id
|
||||
* @return Ugiro the loaded model
|
||||
* @throws NotFoundHttpException if the model cannot be found
|
||||
*/
|
||||
protected function findModel($id) {
|
||||
if (($model = Ugiro::findOne ( $id )) !== null) {
|
||||
return $model;
|
||||
} else {
|
||||
throw new NotFoundHttpException ( 'The requested page does not exist.' );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user