Skip to content

Commit a5a2c16

Browse files
author
Leonardo Espinosa Torres
authored
Merge pull request #78 from RealbindDevTeam/remove-monthly-config
Remove monthly config
2 parents 6ba2555 + cad796b commit a5a2c16

File tree

13 files changed

+83
-225
lines changed

13 files changed

+83
-225
lines changed

i4t_web/client/imports/app/app.routes.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ import { CallsComponent } from './web/waiter/calls/calls/calls.component';
3333
import { NotFoundWebComponent } from './web/auth/notfound/notfound.web.component';
3434
import { MonthlyPaymentComponent } from './web/administrator/payment/monthly-payment/monthly-payment.component';
3535
import { SupervisorDashboardComponent } from './web/supervisor/dashboard/supervisor-dashboard.component';
36-
import { MonthlyConfigComponent } from './web/administrator/administration/establishment/monthly-config/monthly-config/monthly-config.component';
3736
import { PayuPaymentFormComponent } from './web/administrator/payment/payu-payment-form/payu-payment-form.component';
3837
import { PaymentHistoryComponent } from './web/administrator/payment/payment-history/payment-history.component';
3938
import { ReactivateEstablishmentComponent } from './web/administrator/payment/reactivate-establishment/reactivate-establishment.component';
@@ -62,6 +61,8 @@ import { OptionValueComponent } from './web/administrator/menu/options/values/op
6261
import { RewardHistoryChartComponent } from './web/administrator/dashboard/reward-history-chart/reward-history-chart.component';
6362
import { OrdersTodayComponent } from "./web/administrator/orders-today/orders-today.component";
6463
import { CashierOrdersTodayComponent } from "./web/cashier/cashier-orders-today.component";
64+
import { EstablishmentListComponent } from './web/administrator/administration/establishment/monthly-config/establishment-list/establishment-list.component';
65+
import { EnableDisableComponent } from './web/administrator/administration/establishment/monthly-config/enable-disable/enable-disable.component';
6566

6667
export const routes: Route[] = [
6768
{
@@ -88,7 +89,8 @@ export const routes: Route[] = [
8889
{ path: 'calls', component: CallsComponent, canActivate: [WaiterGuard] },
8990
{ path: 'monthly-payment', component: MonthlyPaymentComponent, canActivate: [AdminGuard] },
9091
{ path: 'dashboards', component: SupervisorDashboardComponent, canActivate: [SupervisorGuard] },
91-
{ path: 'monthly-config', component: MonthlyConfigComponent, canActivate: [AdminGuard] },
92+
{ path: 'establishment-list', component: EstablishmentListComponent, canActivate: [AdminGuard] },
93+
{ path: 'enable-disable/:param1', component: EnableDisableComponent, canActivate: [AdminGuard] },
9294
{ path: 'payment-form/:param1/:param2/:param3', component: PayuPaymentFormComponent, canActivate: [AdminGuard] },
9395
{ path: 'payment-history', component: PaymentHistoryComponent, canActivate: [AdminGuard] },
9496
{ path: 'reactivate-establishment', component: ReactivateEstablishmentComponent, canActivate: [AdminGuard] },
@@ -115,7 +117,7 @@ export const routes: Route[] = [
115117
{ path: 'reward-history-chart/:param1', component: RewardHistoryChartComponent, canActivate: [AdminGuard] },
116118
{ path: 'orders-today', component: OrdersTodayComponent, canActivate: [AdminGuard] },
117119
{ path: 'options', component: OptionsComponent, canActivate: [AdminGuard] },
118-
{ path: 'option-values', component: OptionValueComponent, canActivate: [AdminGuard] },
120+
{ path: 'option-values', component: OptionValueComponent, canActivate: [AdminGuard] },
119121
{ path: 'reward-history-chart/:param1', component: RewardHistoryChartComponent, canActivate: [AdminGuard] },
120122
{ path: 'cashier-orders-today', component: CashierOrdersTodayComponent, canActivate: [CashierGuard] }
121123
]

i4t_web/client/imports/app/web/administrator/administration/establishment/monthly-config/enable-disable/enable-disable.component.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
</td>
2828
<td style="width: 30%">
2929
<mat-form-field style="width: 95%">
30-
<input matInput required formControlName="tables_number" placeholder="{{'MONTHLY_CONFIG.NUMBER_TABLES' | translate}} {{max_table_number}}" minlength="1"
31-
maxlength="3" [disabled]="!establishment.isActive" #inputTables>
30+
<input matInput required formControlName="tables_number" placeholder="{{'MONTHLY_CONFIG.NUMBER_TABLES' | translate}} {{_remaining_tables}}"
31+
minlength="1" maxlength="3" [disabled]="!establishment.isActive" #inputTables>
3232
<mat-hint align="end">{{inputTables.value.length}} / 3</mat-hint>
3333
</mat-form-field>
3434
</td>
@@ -49,7 +49,7 @@
4949
</div>
5050
</div>
5151
<button class="fixed-action-btn" mat-fab (click)="backToList()">
52-
<mat-icon style="color: white;">chevron_left</mat-icon>
52+
<mat-icon style="color: white;">chevron_left</mat-icon>
5353
</button>
5454
</div>
5555
</div>

i4t_web/client/imports/app/web/administrator/administration/establishment/monthly-config/enable-disable/enable-disable.component.ts

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Component, OnInit, OnDestroy, Input, Output, EventEmitter, NgZone } from '@angular/core';
22
import { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';
33
import { MatDialogRef, MatDialog } from '@angular/material';
4+
import { ActivatedRoute, Params, Router } from '@angular/router';
45
import { MatSnackBar } from '@angular/material';
56
import { MeteorObservable } from 'meteor-rxjs';
67
import { TranslateService } from '@ngx-translate/core';
@@ -28,11 +29,6 @@ import * as QRious from 'qrious';
2829
})
2930
export class EnableDisableComponent implements OnInit, OnDestroy {
3031

31-
@Input()
32-
establishmentId: string;
33-
34-
@Output('gotoestablishmentlist')
35-
establishmentStatus: EventEmitter<any> = new EventEmitter<any>();
3632

3733
private _tableForm: FormGroup;
3834
private _establishmentSub: Subscription;
@@ -53,6 +49,8 @@ export class EnableDisableComponent implements OnInit, OnDestroy {
5349
private _establishment: Establishment;
5450

5551
private _mdDialogRef: MatDialogRef<any>;
52+
private establishmentId: string;
53+
private _remaining_tables: number;
5654

5755
/**
5856
* EnableDisableComponent Constructor
@@ -66,12 +64,18 @@ export class EnableDisableComponent implements OnInit, OnDestroy {
6664
public snackBar: MatSnackBar,
6765
public _mdDialog: MatDialog,
6866
private _userLanguageService: UserLanguageService,
69-
private _ngZone: NgZone) {
67+
private _ngZone: NgZone,
68+
private _activateRoute: ActivatedRoute,
69+
private _router: Router) {
7070
translate.use(this._userLanguageService.getLanguage(Meteor.user()));
7171
translate.setDefaultLang('en');
7272
this.selectedEstablishmentValue = "";
7373
this.titleMsg = 'SIGNUP.SYSTEM_MSG';
7474
this.btnAcceptLbl = 'SIGNUP.ACCEPT';
75+
76+
this._activateRoute.params.forEach((param: Params) => {
77+
this.establishmentId = param['param1'];
78+
});
7579
}
7680

7781
ngOnInit() {
@@ -87,7 +91,8 @@ export class EnableDisableComponent implements OnInit, OnDestroy {
8791
this._ngZone.run(() => {
8892
let _lEstablishmentCountry: Country = Countries.findOne({ _id: this._establishment.countryId });
8993
this.max_table_number = _lEstablishmentCountry.max_number_tables;
90-
this._tableForm.controls['tables_number'].setValidators(Validators.max(this.max_table_number));
94+
this._remaining_tables = this.max_table_number - this._establishment.tables_quantity;
95+
this._tableForm.controls['tables_number'].setValidators(Validators.max(this._remaining_tables));
9196
});
9297
});
9398
});
@@ -108,6 +113,13 @@ export class EnableDisableComponent implements OnInit, OnDestroy {
108113
this._ngUnsubscribe.complete();
109114
}
110115

116+
/**
117+
* Get the remaining tables of establishment
118+
*/
119+
getRemainingTables() {
120+
this._remaining_tables = this.max_table_number - this._establishment.tables_quantity;
121+
}
122+
111123
/**
112124
* This function adds the number indicated of tables to the establishment
113125
*/
@@ -143,7 +155,7 @@ export class EnableDisableComponent implements OnInit, OnDestroy {
143155
backgroundAlpha: 1.0,
144156
foreground: 'black',
145157
foregroundAlpha: 1.0,
146-
level: 'H',
158+
level: 'M',
147159
mime: 'image/svg',
148160
padding: null,
149161
size: 150,
@@ -171,6 +183,9 @@ export class EnableDisableComponent implements OnInit, OnDestroy {
171183
Establishments.update({ _id: this.establishmentId }, { $set: { tables_quantity: _lEstablishment.tables_quantity + (_i + 1) } })
172184
}
173185
this._tableForm.reset();
186+
let establishment_remaining: Establishment = Establishments.findOne({ _id: this.establishmentId });
187+
this._remaining_tables = this.max_table_number - establishment_remaining.tables_quantity;
188+
this._tableForm.controls['tables_number'].setValidators(Validators.max(this._remaining_tables));
174189
this.snackBar.open(snackMsg, '', {
175190
duration: 1500,
176191
});
@@ -259,8 +274,6 @@ export class EnableDisableComponent implements OnInit, OnDestroy {
259274
Tables.collection.find({ establishment_id: _establishment._id }).forEach(function <Table>(table, index, ar) {
260275
Tables.collection.update({ _id: table._id }, { $set: { is_active: !_establishment.isActive } });
261276
});
262-
263-
this.establishmentStatus.emit(true);
264277
this.snackBar.open(snackMsg, '', {
265278
duration: 1500,
266279
});
@@ -282,12 +295,6 @@ export class EnableDisableComponent implements OnInit, OnDestroy {
282295
return wordTraduced;
283296
}
284297

285-
/**
286-
* This function back to de establishment list
287-
*/
288-
backToList() {
289-
this.establishmentStatus.emit(true);
290-
}
291298
/**
292299
* This function cleans the tables_number fields form
293300
*/
@@ -326,6 +333,10 @@ export class EnableDisableComponent implements OnInit, OnDestroy {
326333
});
327334
}
328335

336+
backToList() {
337+
this._router.navigate(['app/establishment-list']);
338+
}
339+
329340
/**
330341
* ngOnDestroy Implementation
331342
*/

i4t_web/client/imports/app/web/administrator/administration/establishment/monthly-config/establishment-list/establishment-list.component.html

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,27 @@
1-
<mat-card *ngIf="(_establishments | async)?.length > 0">
1+
<mat-card *ngIf="!_thereAreEstablishments" mat-cell="12" class="demo-card demo-basic">
2+
<mat-card-content>
3+
<div class="card_initial">
4+
<div class="card_initial has-image">
5+
<div class="card_initial-image-container">
6+
<img class="card_initial-image" src="/images/tables.png" />
7+
</div>
8+
<div class="card_initial-copy">
9+
<div class="card_initial-tagline">
10+
{{'SECTIONS.THERE_NOT_RESTAURANTS' | translate}}
11+
</div>
12+
<div class="card_initial-additional-links">
13+
{{'SECTIONS.MESSAGE' | translate}}
14+
</div>
15+
</div>
16+
<div class="card_initial-button">
17+
<button mat-raised-button (click)="goToAddEstablishment()">{{'SECTIONS.RESTAURANT_REGISTER' | translate}}</button>
18+
</div>
19+
</div>
20+
</div>
21+
</mat-card-content>
22+
</mat-card>
23+
24+
<mat-card *ngIf="_thereAreEstablishments">
225
<mat-card-title>{{'MONTHLY_CONFIG.TITLE' | translate}}</mat-card-title>
326
<mat-card-subtitle>{{'MONTHLY_CONFIG.SUBTITLE' | translate}}</mat-card-subtitle>
427
<mat-card-content>
@@ -23,7 +46,7 @@
2346
<td *ngIf="establishment.currencyId === currency._id" class="cust-center-align">{{getActiveTables(establishment)}}</td>
2447
<td *ngIf="establishment.currencyId === currency._id" class="cust-center-align">{{getEstablishmentStatus(establishment) | translate}}</td>
2548
<td *ngIf="establishment.currencyId === currency._id" class="cust-center-align">
26-
<button mat-raised-button [disabled]="validateConditions(establishment)" (click)="goToEnableDisable(establishment._id)">{{'MONTHLY_CONFIG.BTN_EDIT' | translate}}</button>
49+
<button mat-raised-button (click)="goToEnableDisable(establishment._id)">{{'MONTHLY_CONFIG.BTN_EDIT' | translate}}</button>
2750
</td>
2851
</tr>
2952
</tbody>

i4t_web/client/imports/app/web/administrator/administration/establishment/monthly-config/establishment-list/establishment-list.component.ts

Lines changed: 16 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,8 @@ import { PaymentHistory } from '../../../../../../../../../both/models/payment/p
2424
templateUrl: './establishment-list.component.html',
2525
styleUrls: ['./establishment-list.component.scss']
2626
})
27-
export class EstablishmentListComponent implements OnInit, OnDestroy {
2827

29-
@Output('gotoenabledisabled')
30-
establishmentId: EventEmitter<any> = new EventEmitter<any>();
28+
export class EstablishmentListComponent implements OnInit, OnDestroy {
3129

3230
private _tableForm: FormGroup;
3331
private _establishmentSub: Subscription;
@@ -42,6 +40,7 @@ export class EstablishmentListComponent implements OnInit, OnDestroy {
4240
private _currencies: Observable<Currency[]>;
4341
private _tables: Observable<Table[]>;
4442
private _parameters: Observable<Parameter[]>;
43+
private _thereAreEstablishments: boolean = true;
4544

4645
private _currentDate: Date;
4746

@@ -66,7 +65,11 @@ export class EstablishmentListComponent implements OnInit, OnDestroy {
6665
tables_number: new FormControl('', [Validators.required])
6766
});
6867
this._establishmentSub = MeteorObservable.subscribe('establishments', Meteor.userId()).takeUntil(this._ngUnsubscribe).subscribe(() => {
69-
this._establishments = Establishments.find({}).zone();
68+
this._ngZone.run(() => {
69+
this._establishments = Establishments.find({}).zone();
70+
this.countEstablishments();
71+
this._establishments.subscribe(() => { this.countEstablishments(); });
72+
});
7073
});
7174
this._tableSub = MeteorObservable.subscribe('tables', Meteor.userId()).takeUntil(this._ngUnsubscribe).subscribe(() => {
7275
this._tables = this._tables = Tables.find({}).zone();
@@ -75,20 +78,17 @@ export class EstablishmentListComponent implements OnInit, OnDestroy {
7578
this._currencies = Currencies.find({}).zone();
7679
});
7780
this._countrySub = MeteorObservable.subscribe('countries').takeUntil(this._ngUnsubscribe).subscribe();
78-
this._parameterSub = MeteorObservable.subscribe('getParameters').takeUntil(this._ngUnsubscribe).subscribe(() => {
79-
this._ngZone.run(() => {
80-
let is_prod_flag = Parameters.findOne({ name: 'payu_is_prod' }).value;
81-
if (is_prod_flag == 'true') {
82-
this._currentDate = new Date();
83-
} else {
84-
let test_date = Parameters.findOne({ name: 'date_test_monthly_pay' }).value;
85-
this._currentDate = new Date(test_date);
86-
}
87-
});
88-
});
81+
8982
this._paymentHistorySub = MeteorObservable.subscribe('getHistoryPaymentsByUser', Meteor.userId()).takeUntil(this._ngUnsubscribe).subscribe();
9083
}
9184

85+
/**
86+
* Validate if establishments exists
87+
*/
88+
countEstablishments(): void {
89+
Establishments.collection.find({}).count() > 0 ? this._thereAreEstablishments = true : this._thereAreEstablishments = false;
90+
}
91+
9292
/**
9393
* Remove all subscriptions
9494
*/
@@ -160,61 +160,9 @@ export class EstablishmentListComponent implements OnInit, OnDestroy {
160160
* @param {string} _establishment
161161
*/
162162
goToEnableDisable(_establishment: string) {
163-
this.establishmentId.emit(_establishment);
164-
}
165-
166-
/**
167-
* This function validate the current day to return or not the customer payment
168-
* @return {boolean}
169-
*/
170-
validatePeriodDays(): boolean {
171-
let startDay = Parameters.findOne({ name: 'start_payment_day' });
172-
let endDay = Parameters.findOne({ name: 'end_payment_day' });
173-
let currentDay = this._currentDate.getDate();
174-
let establishments = Establishments.collection.find({ creation_user: Meteor.userId() }).fetch();
175-
176-
if (startDay && endDay && establishments) {
177-
if (currentDay >= Number(startDay.value) && currentDay <= Number(endDay.value) && (establishments.length > 0)) {
178-
return true;
179-
} else {
180-
return false;
181-
}
182-
}
163+
this._router.navigate(['app/enable-disable', _establishment], { skipLocationChange: true });
183164
}
184165

185-
/**
186-
* This function validate the conditions for enable or disable modify button
187-
* @param {Establishment} _establishment
188-
* @return {string}
189-
*/
190-
validateConditions(_establishment: Establishment): boolean {
191-
let periodDays: boolean;
192-
let paymentHistory: PaymentHistory;
193-
if (_establishment.freeDays) {
194-
return false;
195-
} else {
196-
periodDays = this.validatePeriodDays();
197-
if (periodDays) {
198-
paymentHistory = PaymentsHistory.findOne({
199-
month: (this._currentDate.getMonth() + 1).toString(),
200-
year: (this._currentDate.getFullYear()).toString(),
201-
establishment_ids: {
202-
$in: [_establishment._id]
203-
},
204-
status: 'TRANSACTION_STATUS.APPROVED'
205-
});
206-
if (paymentHistory) {
207-
return true;
208-
} else {
209-
return false;
210-
}
211-
} else {
212-
return !periodDays;
213-
}
214-
}
215-
}
216-
217-
218166
/**
219167
* ngOnDestroy Implementation
220168
*/

i4t_web/client/imports/app/web/administrator/administration/establishment/monthly-config/monthly-config/monthly-config.component.html

Lines changed: 0 additions & 25 deletions
This file was deleted.

i4t_web/client/imports/app/web/administrator/administration/establishment/monthly-config/monthly-config/monthly-config.component.scss

Whitespace-only changes.

0 commit comments

Comments
 (0)