Skip to content

Commit bd3744e

Browse files
unknownunknown
authored andcommitted
#5-08-2024
1 parent ab4f5da commit bd3744e

26 files changed

Lines changed: 1453 additions & 229 deletions

File tree

appsTeacher/globalVars/app.js

Lines changed: 96 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,81 @@ module.exports = function init(site) {
1616
nameEn: "Delivered",
1717
},
1818
];
19+
20+
site.monthList = [
21+
{
22+
code : 0,
23+
name: "jan",
24+
nameAr: "يناير",
25+
nameEn: "Jan",
26+
},
27+
{
28+
code : 1,
29+
name: "feb",
30+
nameAr: "فبراير",
31+
nameEn: "Feb",
32+
},
33+
{
34+
code : 2,
35+
name: "mar",
36+
nameAr: "مارس",
37+
nameEn: "Mar",
38+
},
39+
{
40+
code : 3,
41+
name: "apr",
42+
nameAr: "إبريل",
43+
nameEn: "Apr",
44+
},
45+
{
46+
code : 4,
47+
name: "may",
48+
nameAr: "مايو",
49+
nameEn: "May",
50+
},
51+
{
52+
code : 5,
53+
name: "jun",
54+
nameAr: "يونيو",
55+
nameEn: "Jun",
56+
},
57+
{
58+
code : 6,
59+
name: "jul",
60+
nameAr: "يوليو",
61+
nameEn: "Jul",
62+
},
63+
{
64+
code : 7,
65+
name: "aug",
66+
nameAr: "أغسطس",
67+
nameEn: "Aug",
68+
},
69+
{
70+
code : 8,
71+
name: "sept",
72+
nameAr: "سبتمبر",
73+
nameEn: "Sept",
74+
},
75+
{
76+
code : 9,
77+
name: "oct",
78+
nameAr: "أكتوبر",
79+
nameEn: "Oct",
80+
},
81+
{
82+
code : 10,
83+
name: "nov",
84+
nameAr: "نوفمبر",
85+
nameEn: "Nov",
86+
},
87+
{
88+
code : 11,
89+
name: "dec",
90+
nameAr: "ديسمبر",
91+
nameEn: "Dec",
92+
},
93+
];
1994
site.lecturesTypesList = [
2095
{
2196
name: "public",
@@ -108,26 +183,6 @@ module.exports = function init(site) {
108183
},
109184
];
110185

111-
site.salesCategories = [
112-
{ id: 1, nameEn: "Direct", nameAr: "مباشرة", name: "direct" },
113-
{ id: 2, nameEn: "Delivery", nameAr: "توصيل", name: "delivery" },
114-
];
115-
116-
site.deliveryOrderStatus = [
117-
{
118-
id: 1,
119-
nameEn: "Under Process",
120-
nameAr: "قيد التجهيز",
121-
name: "underProcess",
122-
},
123-
{ id: 2, nameEn: "On The Way", nameAr: "في الطريق", name: "onTheWay" },
124-
];
125-
126-
site.employeesJobsTypesList = [
127-
{ nameEn: "Teacher", nameAr: "محامي", name: "teachers" },
128-
{ nameEn: "Employee", nameAr: "موظف", name: "employees" },
129-
];
130-
131186
site.deliveryStatus = [
132187
{ id: 1, nameEn: "New", nameAr: "جديد", name: "new" },
133188
{ id: 2, nameEn: "Approved", nameAr: "معتمد", name: "approved" },
@@ -192,8 +247,13 @@ module.exports = function init(site) {
192247
{ id: 2, nameEn: "Deferred Invoice", nameAr: "فاتورة آجل" },
193248
];
194249

250+
site.groupPaymentMethodList = [
251+
{ name: "lecture", nameEn: "Lecture", nameAr: "محاضرة" },
252+
{ name: "monthly", nameEn: "Monthly", nameAr: "شهري" },
253+
];
254+
195255
site.paymentMethodList = [
196-
{ name: "normal", nameEn: "Normal", nameAr: "عادي" },
256+
{ name: "lecture", nameEn: "Lecture", nameAr: "محاضرة" },
197257
{ name: "monthly", nameEn: "Monthly", nameAr: "شهري" },
198258
{ name: "reduced", nameEn: "Reduced", nameAr: "مخفض" },
199259
{ name: "exempt", nameEn: "Exempt", nameAr: "معفى" },
@@ -519,13 +579,6 @@ module.exports = function init(site) {
519579
{ id: 3, nameEn: "Year", nameAr: "سنة" },
520580
];
521581

522-
site.scientificRanks = [
523-
{ id: 1, nameEn: "Consultant", nameAr: "إستشاري" },
524-
{ id: 2, nameEn: "Senior Specialist", nameAr: "أخصائي أول" },
525-
{ id: 3, nameEn: "Specialist", nameAr: "أخصائي" },
526-
{ id: 4, nameEn: "General Practitioner", nameAr: "ممارس عام" },
527-
];
528-
529582
site.vouchersTypes = [
530583
{
531584
id: "generalSalesInvoice",
@@ -581,6 +634,20 @@ module.exports = function init(site) {
581634
});
582635
});
583636

637+
site.post("/api/monthList", (req, res) => {
638+
res.json({
639+
done: true,
640+
list: site.monthList,
641+
});
642+
});
643+
644+
site.post("/api/groupPaymentMethodList", (req, res) => {
645+
res.json({
646+
done: true,
647+
list: site.groupPaymentMethodList,
648+
});
649+
});
650+
584651
site.post("/api/paymentMethodList", (req, res) => {
585652
res.json({
586653
done: true,
@@ -641,19 +708,6 @@ module.exports = function init(site) {
641708
});
642709
});
643710

644-
site.post("/api/deliveryOrderStatus", (req, res) => {
645-
res.json({
646-
done: true,
647-
list: site.deliveryOrderStatus,
648-
});
649-
});
650-
651-
site.post("/api/scientificRanks", (req, res) => {
652-
res.json({
653-
done: true,
654-
list: site.scientificRanks,
655-
});
656-
});
657711

658712
site.post("/api/employeesJobsTypesList", (req, res) => {
659713
res.json({
@@ -730,20 +784,7 @@ module.exports = function init(site) {
730784
list: site.deliveryStatus,
731785
});
732786
});
733-
site.post("/api/salesCategories", (req, res) => {
734-
if (site.getCompanySetting(req).showRestaurant && site.salesCategories.length == 2) {
735-
site.salesCategories.push({
736-
id: 3,
737-
nameEn: "Table",
738-
nameAr: "طاولة",
739-
name: "table",
740-
});
741-
}
742-
res.json({
743-
done: true,
744-
list: site.salesCategories,
745-
});
746-
});
787+
747788

748789
site.post("/api/visitTypes", (req, res) => {
749790
res.json({

appsTeacher/groups/app.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,6 @@ module.exports = function init(site) {
269269
};
270270
if (search) {
271271
where.$or = [];
272-
273272
where.$or.push({
274273
id: site.get_RegExp(search, "i"),
275274
});
Lines changed: 40 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,47 @@
11
<div ng-controller="groups" class="loaded">
2-
<div class="row" x-permissions="groupsUi || groupsManage">
3-
<div x-import="groups/modal.html"></div>
4-
<div x-import="groups/studentsModal.html"></div>
2+
<div class="row" x-permissions="groupsUi || groupsManage">
3+
<div x-import="groups/modal.html"></div>
4+
<div x-import="groups/studentsModal.html"></div>
5+
<div x-import="groups/paymentsModal.html"></div>
56

6-
<div class="top-actions">
7-
<i-button type="add" x-permissions="groupsAdd || groupsManage" label="##word.New##"
8-
ng-click="showAdd()"></i-button>
9-
<i-upload api="api/groups/import" label="Import" x-permissions="groupsImport || groupsManage"></i-upload>
10-
</div>
7+
<div class="top-actions">
8+
<i-button type="add" x-permissions="groupsAdd || groupsManage" label="##word.New##" ng-click="showAdd()"></i-button>
9+
<i-upload api="api/groups/import" label="Import" x-permissions="groupsImport || groupsManage"></i-upload>
10+
</div>
1111

12-
<div class="row padding">
13-
<i-control ng-model="$search" x-permissions="groupsSearch || groupsManage"></i-control>
14-
</div>
15-
<div class="table-responsive">
16-
<table class="table hover bold" id="t1">
17-
<tr>
18-
<th>##word.Name##</th>
19-
<th>##word.Teacher##</th>
20-
<th>##word.Subject##</th>
21-
<th>##word.Status##</th>
22-
<th class="not-print">##word.Actions##</th>
23-
</tr>
24-
<tr ng-repeat="item in list | filter:$search">
25-
26-
<td class="center">{{item.name}}</td>
27-
<td class="center">{{item.teacher.firstName}}</td>
28-
<td class="center">{{item.subject.name}}</td>
29-
<td class="center">
30-
<span class="text-success" ng-show="item.active">##word.Active##</span>
31-
<span class="text-danger" ng-show="!item.active">##word.Not Active##</span>
32-
</td>
12+
<div class="row padding">
13+
<i-control ng-model="$search" x-permissions="groupsSearch || groupsManage"></i-control>
14+
</div>
15+
<div class="table-responsive">
16+
<table class="table hover bold" id="t1">
17+
<tr>
18+
<th>##word.Name##</th>
19+
<th>##word.Teacher##</th>
20+
<th>##word.Subject##</th>
21+
<th>##word.Status##</th>
22+
<th class="not-print">##word.Actions##</th>
23+
</tr>
24+
<tr ng-repeat="item in list | filter:$search">
25+
<td class="center">{{item.name}}</td>
26+
<td class="center">{{item.teacher.firstName}}</td>
27+
<td class="center">{{item.subject.name}}</td>
28+
<td class="center">
29+
<span class="text-success" ng-show="item.active">##word.Active##</span>
30+
<span class="text-danger" ng-show="!item.active">##word.Not Active##</span>
31+
</td>
3332

34-
<td class="center not-print">
35-
<i-button type="view" title="##word.View##" ng-click="showView(item)"></i-button>
33+
<td class="center not-print">
34+
<i-button type="view" title="##word.View##" ng-click="showView(item)"></i-button>
3635

37-
<i-button type="edit" x-permissions="groupsUpdate || groupsManage" title="##word.Edit##"
38-
ng-click="showUpdate(item)"></i-button>
36+
<i-button type="edit" x-permissions="groupsUpdate || groupsManage" title="##word.Edit##" ng-click="showUpdate(item)"></i-button>
3937

40-
<i-button type="delete" x-permissions="groupsDelete || groupsManage" title="##word.Delete##"
41-
ng-click="showDelete(item)"></i-button>
42-
</td>
43-
</tr>
44-
</table>
45-
</div>
46-
<i-button x-permissions="groupsPrint || groupsManage" type="print" label="##word.Print##"
47-
onclick="site.print('#t1')"></i-button>
48-
<i-button x-permissions="groupsExport || groupsManage" type="export" label="##word.Export to excel##"
49-
onclick="export_to_xlsx('t1' , 'report_value_added.xlsx')"> </i-button>
38+
<i-button type="delete" x-permissions="groupsDelete || groupsManage" title="##word.Delete##" ng-click="showDelete(item)"></i-button>
39+
</td>
40+
</tr>
41+
</table>
5042
</div>
51-
</div>
43+
<i-button x-permissions="groupsPrint || groupsManage" type="print" label="##word.Print##" onclick="site.print('#t1')"></i-button>
44+
<i-button x-permissions="groupsExport || groupsManage" type="export" label="##word.Export to excel##" onclick="export_to_xlsx('t1' , 'report_value_added.xlsx')"> </i-button>
45+
</div>
46+
<div x-import="groups/thermalPrint.html"></div>
47+
</div>

appsTeacher/groups/site_files/html/modalContent.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@
1919
></i-list>
2020
<i-list label="##word.School Year##" ng-model="item.schoolYear" class="col6" v="r" display="name" items="schoolYearsList"></i-list>
2121
</div>
22+
<div class="row">
23+
<i-list label="##word.Payment Method##" ng-model="item.paymentMethod" class="col6" v="r" display="name##session.lang##" items="groupPaymentMethodList"></i-list>
24+
<i-control v="r" type="number" class="col3" ng-model="item.price" label="##word.Price## ##word.$##"></i-control>
25+
26+
</div>
2227
<div class="row">
2328
<i-list class="col6" v="r" label="##word.Teacher##" ng-change="selectTeacher()" ng-model="item.teacher" display="firstName" items="teachersList" ng-get="getTeachersList($search)"></i-list>
2429
</div>
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<div id="paymentsModal" class="modal full" fixed>
2+
<div class="modal-content">
3+
<div class="modal-header">
4+
<span class="close">&times;</span>
5+
<p class="center">
6+
##word.Student Payments##
7+
<i class="fa fa-pencil"></i>
8+
</p>
9+
</div>
10+
11+
<div class="modal-body">
12+
<div class="row">
13+
<h2 class="col3 center border-1 bold padding">
14+
<p>##word.Amount Required##</p>
15+
{{item.price}} ##word.$##
16+
</h2>
17+
</div>
18+
<div class="row">
19+
<i-date class="col4" ng-click="changePaymentMonth(studentItem)" ng-model="studentItem.$date" label="##word.Date##"></i-date>
20+
<i-list label="##word.Month##" ng-model="studentItem.$month" class="col2" display="name##session.lang##" items="monthList"></i-list>
21+
<i-control type="number" class="col2" ng-change="calcRemain(studentItem)" ng-model="studentItem.$price" label="##word.Paid##"></i-control>
22+
<i-control type="number" disabled class="col2" ng-model="studentItem.$remain" label="##word.Remain##"></i-control>
23+
<i-button type="push" class="col2" label="##word.Pay##" ng-click="addStudentPayment(studentItem)"></i-button>
24+
</div>
25+
<p class="error">{{error}}</p>
26+
<div class="row">
27+
<div class="table-responsive">
28+
<table class="table bold" id="t-students">
29+
<tr>
30+
<th>##word.Month##</th>
31+
<th>##word.Total Paid##</th>
32+
<th>##word.Remain##</th>
33+
<th>##word.Payments List##</th>
34+
<th>##word.Actions##</th>
35+
</tr>
36+
<tr ng-repeat="s in studentItem.paymentList">
37+
<td class="center bold">{{s.month.name##session.lang##}}</td>
38+
<td class="center bold">{{s.price}} ##word.$##</td>
39+
<td class="center bold">{{s.remain}} ##word.$##</td>
40+
<td class="center">
41+
<div class="row" ng-show="s.remain > 0">
42+
<i-date class="col7" ng-model="s.$date" label="##word.Date##"></i-date>
43+
<i-control type="number" class="col3" ng-model="s.$price" label="##word.Paid##"></i-control>
44+
<i-button type="push" class="col2" label="##word.Pay##" ng-click="addSubPayment(s)"></i-button>
45+
</div>
46+
<table class="table hover bold">
47+
<tr>
48+
<th>##word.Date##</th>
49+
<th>##word.paid##</th>
50+
<th>##word.Actions##</th>
51+
</tr>
52+
<tr ng-repeat="p in s.paymentList">
53+
<td class="center">{{p.date | date : 'dd / MM / yyyy'}}</td>
54+
<td class="center">{{p.price}} ##word.$##</td>
55+
<td class="center">
56+
<i-button type="print" label="##word.Print##" ng-click="thermalPrint(s,p)"></i-button>
57+
<i-button type="delete" label="##word.Delete##" ng-click="calcPayments(studentItem);s.paymentList.splice($index,1)"></i-button>
58+
</td>
59+
</tr>
60+
</table>
61+
</td>
62+
<td class="center">
63+
<i-button type="delete" label="##word.Delete##" ng-click="studentItem.paymentList.splice($index,1)"></i-button>
64+
</td>
65+
</tr>
66+
</table>
67+
</div>
68+
</div>
69+
</div>
70+
71+
<div class="modal-footer center">
72+
<i-button type="save" label="##word.Save##" onclick="site.hideModal( '#paymentsModal')"></i-button>
73+
</div>
74+
</div>
75+
</div>

0 commit comments

Comments
 (0)