From 4da3bd1d3d36dd02adae94e3e234572d3c737a99 Mon Sep 17 00:00:00 2001
From: Schneider Roland
Date: Tue, 26 Jul 2022 07:51:23 +0200
Subject: [PATCH] add contract modifications
---
frontend/controllers/ContractController.php | 182 +++++++++---------
frontend/views/contract/_contract.php | 74 ++++---
.../images/cutler_contract_pdf_header_2.jpg | Bin 0 -> 29826 bytes
3 files changed, 133 insertions(+), 123 deletions(-)
create mode 100644 frontend/web/images/cutler_contract_pdf_header_2.jpg
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.
-
+
-
@@ -108,10 +115,10 @@ másrészről:
-
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.
-
- 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.
-
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.
-
- 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.
-
Felmondási lehetőségek
-
- 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.
-
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.
-
- 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.
-
- 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
-
@@ -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:
-
- 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:
-
@@ -263,28 +273,28 @@ másrészről:
-
+
|
Kelt: Győr,
|
-
+
|
- Kelt: Győr,
+ Kelt:
|
-
-
+
+