Skip to content

Commit 9ae3fb8

Browse files
authored
Merge pull request #661 from PAWECOGmbH/staging
Staging to Production
2 parents d9a1a76 + cf36f11 commit 9ae3fb8

File tree

9 files changed

+259
-123
lines changed

9 files changed

+259
-123
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,7 @@ config.cfm
1010

1111
### Log files ###
1212
www/logs
13-
.history
13+
.history
14+
15+
### NGINX configs ###
16+
config/nginx/conf.d/*.conf
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
ALTER TABLE `schedulecontrol`
2+
MODIFY COLUMN `strTaskName` varchar(20) CHARACTER SET utf8mb4
3+
COLLATE utf8mb4_unicode_ci NOT NULL AFTER `intControlID`;
4+
5+
ALTER TABLE `scheduler_01` COLLATE = utf8mb4_unicode_ci;
6+
ALTER TABLE `scheduler_02` COLLATE = utf8mb4_unicode_ci;
7+
ALTER TABLE `scheduler_03` COLLATE = utf8mb4_unicode_ci;
8+
ALTER TABLE `scheduler_04` COLLATE = utf8mb4_unicode_ci;
9+
ALTER TABLE `scheduler_05` COLLATE = utf8mb4_unicode_ci;
10+
ALTER TABLE `scheduler_06` COLLATE = utf8mb4_unicode_ci;
11+
ALTER TABLE `scheduler_07` COLLATE = utf8mb4_unicode_ci;
12+
ALTER TABLE `scheduler_08` COLLATE = utf8mb4_unicode_ci;
13+
ALTER TABLE `scheduler_09` COLLATE = utf8mb4_unicode_ci;
14+
ALTER TABLE `scheduler_10` COLLATE = utf8mb4_unicode_ci;
15+
ALTER TABLE `scheduler_11` COLLATE = utf8mb4_unicode_ci;
16+
ALTER TABLE `scheduler_12` COLLATE = utf8mb4_unicode_ci;
17+
ALTER TABLE `scheduler_13` COLLATE = utf8mb4_unicode_ci;
18+
ALTER TABLE `scheduler_14` COLLATE = utf8mb4_unicode_ci;
19+
ALTER TABLE `scheduler_15` COLLATE = utf8mb4_unicode_ci;
20+
ALTER TABLE `scheduler_16` COLLATE = utf8mb4_unicode_ci;
21+
ALTER TABLE `scheduler_17` COLLATE = utf8mb4_unicode_ci;
22+
ALTER TABLE `scheduler_18` COLLATE = utf8mb4_unicode_ci;
23+
ALTER TABLE `scheduler_19` COLLATE = utf8mb4_unicode_ci;
24+
ALTER TABLE `scheduler_20` COLLATE = utf8mb4_unicode_ci;
25+
26+
ALTER TABLE `scheduletasks`
27+
MODIFY COLUMN `strName` varchar(255) CHARACTER SET utf8mb4
28+
COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL AFTER `intScheduletaskID`,
29+
MODIFY COLUMN `strPath` varchar(255) CHARACTER SET utf8mb4
30+
COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL AFTER `dtmStartTime`,
31+
COLLATE = utf8mb4_unicode_ci;

config/nginx/conf.d/.gitignore

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

www/backend/core/handler/customer.cfm

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,47 @@ if (structKeyExists(url, "change_tenant")) {
340340
341341
}
342342
343+
// Get back to the sysadmin view
344+
if (structKeyExists(url, "sysadmin")) {
345+
346+
if (structKeyExists(session, "supportLogin") and session.supportLogin) {
347+
348+
// Get sysadmin data
349+
qCustomer = queryExecute(
350+
options = {datasource = application.datasource},
351+
sql = "
352+
SELECT *
353+
FROM users
354+
WHERE blnSysAdmin = 1
355+
LIMIT 1
356+
"
357+
);
358+
359+
if (qCustomer.recordCount) {
360+
361+
// Overwrite session data
362+
session.user_id = qCustomer.intUserID;
363+
session.customer_id = qCustomer.intCustomerID;
364+
session.user_name = qCustomer.strFirstName & " " & qCustomer.strLastName;
365+
session.user_email = qCustomer.strEmail;
366+
session.last_login = qCustomer.dtmLastLogin;
367+
session.admin = 1;
368+
session.superadmin = 1;
369+
session.sysadmin = 1;
370+
session.supportLogin = 0;
371+
372+
// Set plans and modules as well as the custom settings into a session
373+
application.objCustomer.setProductSessions(session.customer_id, session.lng);
374+
375+
// Go to dashboard
376+
location url="#application.mainURL#/dashboard" addtoken="false";
377+
378+
}
379+
380+
}
381+
382+
}
383+
343384
logWrite("user", "warning", "Access attempt to handler/customer.cfm without method [CustomerID: #session.customer_id#, UserID: #session.user_id#]");
344385
location url="#application.mainURL#/dashboard" addtoken="false";
345386

www/backend/core/handler/sysadmin/customers.cfm

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,53 @@
222222
223223
}
224224
225+
}
226+
227+
228+
// Login as a customer
229+
if (structKeyExists(url, "logincustomer") and isNumeric(url.logincustomer)) {
230+
231+
if (session.sysadmin) {
232+
233+
// Get customer data
234+
qCustomer = queryExecute(
235+
options = {datasource = application.datasource},
236+
params = {
237+
intCustomerID: {type: "numeric", value: url.logincustomer}
238+
},
239+
sql = "
240+
SELECT *
241+
FROM users
242+
WHERE intCustomerID = :intCustomerID
243+
AND blnSuperAdmin = 1
244+
LIMIT 1
245+
"
246+
);
247+
248+
if (qCustomer.recordCount) {
249+
250+
// Overwrite session data
251+
session.user_id = qCustomer.intUserID;
252+
session.customer_id = qCustomer.intCustomerID;
253+
session.user_name = qCustomer.strFirstName & " " & qCustomer.strLastName;
254+
session.user_email = qCustomer.strEmail;
255+
session.last_login = qCustomer.dtmLastLogin;
256+
session.admin = 1;
257+
session.superadmin = 1;
258+
session.sysadmin = 0;
259+
session.supportLogin = 1;
260+
261+
// Set plans and modules as well as the custom settings into a session
262+
application.objCustomer.setProductSessions(session.customer_id, session.lng);
263+
264+
// Go to dashboard
265+
location url="#application.mainURL#/dashboard" addtoken="false";
266+
267+
}
268+
269+
}
225270
271+
location url="#application.mainURL#/sysadmin/customers" addtoken="false";
226272
227273
}
228274

www/backend/core/views/header.cfm

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,12 @@
7171
#getTrans('txtLogout')#
7272
</a>
7373

74+
<cfif structKeyExists(session, "supportLogin") and session.supportLogin>
75+
<a class="dropdown-item" href="#application.mainURL#/customer?sysadmin">
76+
Return to SysAdmin
77+
</a>
78+
</cfif>
79+
7480
</div>
7581

7682
</div>

www/backend/core/views/sysadmin/customers.cfm

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,11 +143,11 @@
143143
<table class="table table-vcenter table-mobile-md card-table">
144144
<thead>
145145
<tr>
146-
<th width="30%">Company</th>
146+
<th width="20%">Company</th>
147147
<th width="20%">Contact</th>
148148
<th width="20%">City</th>
149149
<th width="20%">Phone</th>
150-
<th width="5%"></th>
150+
<th width="15%"></th>
151151
</tr>
152152
</thead>
153153
<tbody>
@@ -190,6 +190,9 @@
190190
<a href="#application.mainURL#/sysadmin/customers/edit/#qCustomers.intCustomerID#" class="btn">
191191
Edit
192192
</a>
193+
<a href="#application.mainURL#/sysadm/customers?logincustomer=#qCustomers.intCustomerID#" class="btn" data-bs-toggle="tooltip" data-bs-placement="top" title="Login as customer" onclick="return confirm('You are about to leave your sysadmin session and log in as this customer. Do you want to proceed?')">
194+
Login
195+
</a>
193196
</div>
194197
</td>
195198
</tr>

0 commit comments

Comments
 (0)