diff --git a/frontend/controllers/ContractController.php b/frontend/controllers/ContractController.php index cf45042..400ddf3 100644 --- a/frontend/controllers/ContractController.php +++ b/frontend/controllers/ContractController.php @@ -25,21 +25,21 @@ use frontend\models\ContractForm; */ class ContractController extends Controller { public function behaviors() { - return [ - 'verbs' => [ + return [ + 'verbs' => [ 'class' => VerbFilter::className (), - 'actions' => [ - 'delete' => [ - 'post' + 'actions' => [ + 'delete' => [ + 'post' ], - 'payout' => [ - 'post' + 'payout' => [ + 'post' ], - 'cancel' => [ - 'post' - ] - ] - ] + 'cancel' => [ + 'post' + ] + ] + ] ]; } @@ -51,18 +51,18 @@ class ContractController extends Controller { */ public function actionIndex($id_card) { $card = Card::findOne ( $id_card ); - + if (! isset ( $card )) throw new NotFoundHttpException ( 'A bérlet nem található' ); - + $searchModel = new ContractSearch (); $searchModel->card = $card; $searchModel->customer = $card->customer; $dataProvider = $searchModel->search ( Yii::$app->request->queryParams ); - - return $this->render ( 'index', [ + + return $this->render ( 'index', [ 'searchModel' => $searchModel, - 'dataProvider' => $dataProvider + 'dataProvider' => $dataProvider ] ); } @@ -77,20 +77,20 @@ class ContractController extends Controller { $model = $this->findModel ( $id ); $customer = $model->customer; $card = $customer->card; - - $installments = TicketInstallmentRequest::find ()->andWhere ( [ - 'id_contract' => $model->id_contract - ] )->orderBy ( [ - 'ticket_installment_request.priority' => SORT_ASC + + $installments = TicketInstallmentRequest::find ()->andWhere ( [ + 'id_contract' => $model->id_contract + ] )->orderBy ( [ + 'ticket_installment_request.priority' => SORT_ASC ] )->all (); - - return $this->render ( 'view', [ + + return $this->render ( 'view', [ 'model' => $model, 'intstallments' => $installments, - 'card' => $card + 'card' => $card ] ); } - + /** * Creates a new Contract model. * If creation is successful, the browser will be redirected to the 'view' page. @@ -99,15 +99,15 @@ class ContractController extends Controller { */ public function actionCreate() { $model = new Contract (); - + if ($model->load ( Yii::$app->request->post () ) && $model->save ()) { - return $this->redirect ( [ + return $this->redirect ( [ 'view', - 'id' => $model->id_contract + 'id' => $model->id_contract ] ); } else { - return $this->render ( 'create', [ - 'model' => $model + return $this->render ( 'create', [ + 'model' => $model ] ); } } @@ -122,15 +122,15 @@ class ContractController extends Controller { */ public function actionUpdate($id) { $model = $this->findModel ( $id ); - + if ($model->load ( Yii::$app->request->post () ) && $model->save ()) { - return $this->redirect ( [ + return $this->redirect ( [ 'view', - 'id' => $model->id_contract + 'id' => $model->id_contract ] ); } else { - return $this->render ( 'update', [ - 'model' => $model + return $this->render ( 'update', [ + 'model' => $model ] ); } } @@ -146,12 +146,12 @@ class ContractController extends Controller { */ public function actionDelete($id) { $this->findModel ( $id )->delete (); - - return $this->redirect ( [ - 'index' + + return $this->redirect ( [ + 'index' ] ); } - + /** * EGY RÉSZLET KIFIZETÉSE */ @@ -160,33 +160,33 @@ class ContractController extends Controller { $contract = $part->contract; $customer = $contract->customer; $card = $customer->card; - + $connection = \Yii::$app->db; $transaction = $connection->beginTransaction (); try { - + $result = Transfer::sellContractTicket ( $contract, $part, Account::readDefaultObject (), Transfer::STATUS_NOT_PAID, Transfer::PAYMENT_METHOD_CASH, true ); $transfer = $result [0]; $ticket = $result [1]; if ($part->status != TicketInstallmentRequest::$STATUS_REJECTED) { $contract->part_required = $contract->part_required + 1; } - + $contract->part_paid = $contract->part_paid + 1; - + if ($contract->part_paid >= $contract->part_required) { $contract->status = Contract::$STATUS_PAID; } else { $contract->status = Contract::$STATUS_NOT_PAID; } - + $contract->save ( false ); - + $part->status = TicketInstallmentRequest::$STATUS_ACCEPTED_MANUAL; $part->id_transfer = $transfer->id_transfer; $part->request_processed_at = Helper::getDateTimeString (); $part->id_ticket = $ticket->id_ticket; - + $part->save ( false ); $transaction->commit (); \Yii::$app->session->setFlash ( 'success', "Részlet a bevásárló kosárba helyezve!" ); @@ -194,10 +194,10 @@ class ContractController extends Controller { $transaction->rollback (); Yii::error ( "Nem sikerült a kifizetés." ); } - - return $this->redirect ( [ + + return $this->redirect ( [ 'view', - 'id' => $contract->id_contract + 'id' => $contract->id_contract ] ); } @@ -211,26 +211,26 @@ class ContractController extends Controller { */ public function actionCancel($id,$flag) { $contract = $this->findModel ( $id ); - + if ( $flag != Contract::$FLAG_CANCELED && $flag != Contract::$FLAG_CANCELED_2){ \Yii::error("A felmondási státusz nem található! ($flag)"); throw new NotFoundHttpException("Az oldal nem található!"); - + } - + $customer = $contract->customer; $card = $customer->card; - + if ($contract->canCancel ()) { $connection = \Yii::$app->db; $transaction = $connection->beginTransaction (); try { - + $contract->flag = $flag; $contract->save (); $requests = $contract->requests; $buntetes = 0; - + foreach ( $requests as $request ) { /** @var \common\models\TicketInstallmentRequest $request*/ if ($request->isStatusAccepted ()) { @@ -240,15 +240,15 @@ class ContractController extends Controller { $request->save ( false ); } } - - $productBuntetes = Product::find ()->andWhere ( [ - 'product_number' => Product::$BUNTETES + + $productBuntetes = Product::find ()->andWhere ( [ + 'product_number' => Product::$BUNTETES ] )->one (); // if there is a fee , generate fee and put it to the shopping cart if (isset ( $productBuntetes )) { if ($buntetes > 0) { - + $sale = new Sale (); $sale->id_account = Account::readDefault (); $sale->id_product = $productBuntetes->id_product; @@ -258,29 +258,29 @@ class ContractController extends Controller { $sale->count = $buntetes; $sale->money = $buntetes * $sale->item_price; $sale->id_user = \Yii::$app->user->id; - + $sale->save ( false ); - + $transfer = Transfer::createProductTransfer ( $sale, Account::readDefaultObject (), null, null, $sale->count, $productBuntetes, Transfer::STATUS_NOT_PAID, $customer ); $transfer->payment_method = Transfer::PAYMENT_METHOD_CASH; - + $transfer->id_user = Yii::$app->user->id; - + $transfer->save ( false ); - + $cart = new ShoppingCart (); $cart->id_customer = $customer->id_customer; $cart->id_transfer = $transfer->id_transfer; $cart->save ( false ); } } - + $transaction->commit (); \Yii::$app->session->setFlash ( 'success', "Szerződés felbontva!" ); - - return $this->redirect ( [ + + return $this->redirect ( [ 'product/sale', - 'number' => $card->number + 'number' => $card->number ] ); } catch ( Exception $e ) { $transaction->rollback (); @@ -289,10 +289,10 @@ class ContractController extends Controller { } else { \Yii::$app->session->setFlash ( 'danger', "Szerződést nem lehet felbontani!" ); } - - return $this->redirect ( [ + + return $this->redirect ( [ 'view', - 'id' => $contract->id_contract + 'id' => $contract->id_contract ] ); } @@ -303,31 +303,31 @@ class ContractController extends Controller { */ public function actionMake($id) { $customer = Customer::findOne ( $id ); - + if (! isset ( $customer )) { throw new Exception ( "Az oldal nem található" ); } - - - $model = new ContractForm ( [ + + + $model = new ContractForm ( [ 'customer' => $customer , 'idUser' => \Yii::$app->user->id, 'idAccount' => Account::readDefault () ] ); - + $model->started_at = date(date('Y.m.d')); - + $model->fillOut (); - + if ($model->load ( Yii::$app->request->post () ) && $model->validate ()) { - + $connection = \Yii::$app->db; $transaction = $connection->beginTransaction (); try { - + $model->make (); $transaction->commit(); - return $this->redirect ( [ + return $this->redirect ( [ 'contract/view', 'id' => $model->contract->id_contract ] ); @@ -336,9 +336,9 @@ class ContractController extends Controller { \Yii::$app->session->setFlash('danger', $e->getMessage()); } } - - return $this->render ( '_make_contract', [ - 'model' => $model + + return $this->render ( '_make_contract', [ + 'model' => $model ] ); } @@ -349,16 +349,16 @@ class ContractController extends Controller { */ public function actionContract($id){ $model = $this->findModel($id); - + //$mpdf=new \mPDF('utf-8', 'A4'); $mpdf=new \mPDF('utf-8','A4','','','15','15','26','18','3'); - - $mpdf->SetHTMLHeader("
"); + + $mpdf->SetHTMLHeader("
"); $mpdf->setFooter('{PAGENO} / {nb}'); $mpdf->WriteHTML($this->renderPartial('_contract', [ 'model' => $model, ])); - + $fileName = "szerzodes"; $fileName .= "." . $model->customer->name; $fileName .= "." .\Yii::$app->formatter->asDate( $model->created_at, "Y"); @@ -367,12 +367,12 @@ class ContractController extends Controller { // $mpdf->Output('szerzodes.pdf', 'I');//open in new tab exit; } - + /** * Finds the Contract model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * - * @param integer $id + * @param integer $id * @return Contract the loaded model * @throws NotFoundHttpException if the model cannot be found */ diff --git a/frontend/views/contract/_contract.php b/frontend/views/contract/_contract.php index 1e1a946..8158d79 100644 --- a/frontend/views/contract/_contract.php +++ b/frontend/views/contract/_contract.php @@ -2,7 +2,7 @@ use common\components\Azaz; ?> -customer; $customerName = $customer->name; @@ -12,26 +12,30 @@ use common\components\Azaz; $customerPhone = $customer->phone; $customerEmail = $customer->email; $customerBankAccount = $customer->bank_account; + // make groups with length 8 and separator '-' + $customerBankAccount = chunk_split($customerBankAccount,8,'-'); + $customerBankAccount = substr($customerBankAccount, 0, -1); + $customerIdCustomer = $customer->id_customer; - + // $dt = \DateTime::createFromFormat("Y-m-d H:i:s", $model->started_at); // $contractStartAtDate = $dt->format("Y.m.d"); $contractStartAtDate = \Yii::$app->formatter->asDate($model->started_at); - - + + $contractDate = date('Y.m.d'); - + $azaz = new Azaz(); $ticketMoneyYear = $model->getPriceTotal(); $ticketMoneyYearText = $azaz->toString($ticketMoneyYear); - + $ticketMoneyMonth = $model->getPriceMonthly(); $ticketMoneyMonthText = $azaz->toString($ticketMoneyMonth); - + $customerBankName = $customer->bank_name; $img = ""; - + ?>

@@ -49,6 +53,9 @@ use common\components\Azaz; székhely: 9222 Hegyeshalom, Pozsonyi u. 11. + + telephely/levelezési cím: 9027 Győr, Nagysándor József utca 31. 2. emelet + adószám: 25006285-2-08 @@ -62,7 +69,7 @@ use common\components\Azaz; képviseli: Freimann Sándor ügyvezető - (a továbbiakban, mint Szolgáltató), + (a továbbiakban, mint Szolgáltató), @@ -99,7 +106,7 @@ másrészről:

(a továbbiakban, mint Tag) között alulírott helyen és időben az alábbi feltételekkel.

- +
  1. @@ -108,10 +115,10 @@ másrészről:
  2. A szerződő felek rögzítik, hogy jelen megállapodást 12 hónap határozott időtartamra kötik, melynek kezdő időpontja a jelen szerződés aláírásának a napja.

    - Felek megállapodnak abban is, hogy a jelen szerződés automatikusan további újabb és újabb 12 hónappal ráutaló magatartással meghosszabbodik mindaddig, ameddig bármelyik fél a szerződés, illetve a meghosszabbodott szerződés lejártát megelőző 30 napon belül a másik fél részére írásban a szerződés megszűntetésére vonatkozó szándékát nem közli. + Felek megállapodnak abban is, hogy jelen szerződés automatikusan lejár a megkötés napját követő év azonos napját megelőző napon. Amennyiben a Tag ezután folytatni szeretné a szolgáltatások igénybevételét, akkor új szerződést kell majd kössön.

    - A Szerződő Felek kijelentik, hogy a Tag a határozott időtartamú szerződés hatálya alatt, a CUTLER FITNESS Győr szolgáltatásait kedvezményesen veheti igénybe. Ezen kedvezményes éves tagsági díj összege Ft, azaz forint, amely havi részletekben fizetendő meg. Így a havonta fizetendő tagsági díj összege havi Ft, azaz forint, melynek első részletét a Tag jelen szerződés aláírásakor köteles megfizetni. Az első részlet megfizetéséig a Tag nem jogosult a szolgáltatások igénybe vételére. + A Szerződő Felek kijelentik, hogy a Tag a határozott időtartamú szerződés hatálya alatt, a CUTLER FITNESS Győr szolgáltatásait kedvezményesen veheti igénybe. Ezen kedvezményes éves tagsági díj összege Ft, azaz forint, amely havi részletekben fizetendő meg. Így a havonta fizetendő tagsági díj összege havi Ft, azaz forint, melynek első részletét a Tag jelen szerződés aláírásakor köteles megfizetni. Az első részlet megfizetéséig a Tag nem jogosult a szolgáltatások igénybe vételére.

    A további részletek előre, a jelen szerződésmegkötését követő 30 naponta esedékesek. Ezen összegeket a Szolgáltató a Tag bankszámlájáról történő leemeléssel, úgy nevezett csoportos beszedési megbízással szedi be a Tag jelen szerződéssel egyidejűleg adott, aláírt felhatalmazása alapján. @@ -124,36 +131,36 @@ másrészről: Amennyiben a Szolgáltató részére az adott hónapban nem teljesül a bankszámláról történő beszedés, úgy azt Szolgáltató nem ismétli meg (aktuális időszakra). Amennyiben a Tag továbbra is igénybe kívánja venni a Szolgáltató szolgáltatását a díjfizetéssel nem rendezett időszakban, úgy köteles a hátralék egyéb úton történő megfizetésére.

  3. - Tag tudomásul veszi, hogy a Szolgáltató a szolgáltatási díjjal nem rendezett időszak alatt az elmaradás rendezéséig, az igénybe vehető szolgáltatások körét részben vagy egészben korlátozhatja, a Szolgáltató a belépést a területére megtilthatja. + Tag tudomásul veszi, hogy a Szolgáltató a szolgáltatási díjjal nem rendezett időszak alatt az elmaradás rendezéséig, az igénybe vehető szolgáltatások körét részben vagy egészben korlátozhatja, a Szolgáltató a belépést a területére megtilthatja.
  4. Amennyiben Szolgáltató legalább 3 egymást követő hónapban sem tudja beszedni a bérlet összegét a bankszámlára indított csoportos beszedéssel, úgy Szolgáltató jogosult jelen Szerződés azonnali hatályú felmondására.
  5. - A Tag kijelenti, hogy a Szolgáltató recepciójánál kifüggesztett Házirendjét és jelen szerződést elolvasta, értelmezte és azt magára nézve kötelezőnek ismerte el. + A Tag kijelenti, hogy a Szolgáltató recepciójánál kifüggesztett Házirendjét és jelen szerződést elolvasta, értelmezte és azt magára nézve kötelezőnek ismerte el.
  6. Felmondási lehetőségek
    1. - A Tag tudomásul veszi, hogy a határozott időtartam alatt nincs lehetőség a tagsági jogviszony felmondására. Indokolt esetben (pl. terhesség, sérülés, távoli helyre költözés, stb.) a Tag írásban kezdeményezheti a Szerződés közös megegyezéssel történő megszűntetését, amely kérelemről a Szolgáltató 15 napon belül saját belátása szerint dönt és döntéséről a kérelmezőt értesíti. + A Tag tudomásul veszi, hogy a határozott időtartam alatt nincs lehetőség a tagsági jogviszony felmondására. Indokolt esetben (pl. terhesség, sérülés, távoli helyre költözés, stb.) a Tag írásban kezdeményezheti a Szerződés közös megegyezéssel történő megszűntetését, amely kérelemről a Szolgáltató 15 napon belül saját belátása szerint dönt és döntéséről a kérelmezőt értesíti. Szolgáltató döntése során előírhat kötbér fizetési kötelezettséget is.
    2. Jelen szerződés azonnali hatályú felmondására jogosult a Szolgáltató, amennyiben a Tag a bankszámlájára vonatkozó csoportos beszedési megbízásra vonatkozó felhatalmazást visszavonja a bankjánál, a bankszámláját megszünteti vagy a Házirendet súlyosan megszegi.

      - Ha Szolgáltató bármelyik fenti ok kapcsán él az azonnali hatályú felmondásra vonatkozó jogával, akkor a Tag köteles a szerződéséből hátralévő határozott időtartam alapulvételével havi 3.000,- Ft, azaz Háromezer forint kötbér megfizetésére, továbbá a felmondást követő 1 éven belül nem lesz jogosult újabb éves szerződés megkötésére. + Ha Szolgáltató bármelyik fenti ok kapcsán él az azonnali hatályú felmondásra vonatkozó jogával, akkor a Tag köteles a szerződéséből már eltelt időtartam alapulvételével havi 3.000,- Ft, azaz Háromezer forint kötbér megfizetésére, továbbá a felmondást követő 1 éven belül nem lesz jogosult újabb éves szerződés megkötésére.

    3. - Szolgáltató bármikor egyoldalúan jogosult arra, hogy a jelen Szerződést 30 napos felmondási idővel írásban felmondja, amennyiben a Tag a Házirendet bizonyíthatóan megsérti. + Szolgáltató bármikor egyoldalúan jogosult arra, hogy a jelen Szerződést 30 napos felmondási idővel írásban felmondja, amennyiben a Tag a Házirendet bizonyíthatóan megsérti.
  7. - Jelen szerződésben nem szabályozott kérdésekben a Ptk. rendelkezései az irányadóak. + Jelen szerződésben nem szabályozott kérdésekben a Ptk. rendelkezései az irányadóak.
- +

Kelt: Győr,

@@ -163,7 +170,7 @@ másrészről: - + @@ -190,7 +197,7 @@ másrészről: - Freimann Sándor ügyvezető + Freimann Sándor ügyvezető @@ -198,10 +205,10 @@ másrészről: - + - +

Felhatalmazás csoportos beszedési megbízás teljesítésére

  1. @@ -222,6 +229,9 @@ másrészről:
    Kedvezményezett neve: CUTLER-FOUR Kereskedelmi és Szolgáltató Kft.
    +
    + Kedvezményezett telephelye/levelezési címe: 9027 Győr, Nagysándor József utca 31. 2. emelet +
    Kedvezményezett azonosítója: A25006285
    @@ -242,13 +252,13 @@ másrészről:
  2. - Teljesítés adatai: + Teljesítés adatai:
    - Érvényesség kezdete: lejárata: + Érvényesség kezdete: lejárata:
    - Teljesítés felső értékhatára: + Teljesítés felső értékhatára:
  3. @@ -263,28 +273,28 @@ másrészről:

- +
Kelt: Győr, - + - Kelt: Győr, + Kelt:
- - + + diff --git a/frontend/web/images/cutler_contract_pdf_header_2.jpg b/frontend/web/images/cutler_contract_pdf_header_2.jpg new file mode 100644 index 0000000..02b1abc Binary files /dev/null and b/frontend/web/images/cutler_contract_pdf_header_2.jpg differ
- +