-
Notifications
You must be signed in to change notification settings - Fork 521
/
Copy pathMilestone1_TaskTableController.cls
executable file
·130 lines (109 loc) · 5.35 KB
/
Milestone1_TaskTableController.cls
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/** * File Name: Milestone1_TaskTableController.apxc
* Description : Controller for c:mytasks Lightning Component
* Copyright : salesforce.com, Inc. (c) 2016
* * @author : Shae Selix
* Modification Log ===============================================================
Ver Date Author Modification --- ---- ------ -------------
* */
public with sharing class Milestone1_TaskTableController {
@AuraEnabled
public static List<Milestone1_Task__c> getIncompletedTasks() {
Map<DescribeSObjectResult, Set<String>> fieldsToCheck =
new Map<DescribeSObjectResult, Set<String>>();
fieldsToCheck.put(Milestone1_Task__c.sObjectType.getDescribe(),
new Set<String>{'id', 'name', 'due_date__c', 'assigned_to__c', 'complete__c'});
fieldsToCheck.put(Milestone1_Milestone__c.sObjectType.getDescribe(),
new Set<String>{'id', 'name'});
fieldsToCheck.put(Milestone1_Project__c.sObjectType.getDescribe(),
new Set<String>{'id', 'name', 'status__c'});
Boolean userCanAccess = true;
for (DescribeSObjectResult dfr : fieldsToCheck.keyset()) {
if (!Milestone1_Security_Utility.fieldsAllAccess(dfr, fieldsToCheck.get(dfr))) {
userCanAccess = false;
}
}
List<Milestone1_Task__c> tasks = new List<Milestone1_Task__c>();
if (userCanAccess) {
Id uid = UserInfo.getUserId();
tasks = [SELECT Id, Name, Due_Date__c,
Project_Milestone__c, Project_Milestone__r.Name,
Project_Milestone__r.Project__c,
Project_Milestone__r.Project__r.Name
FROM Milestone1_Task__c
WHERE Assigned_To__c = :uid
AND Complete__c = false
AND Project_Milestone__r.Project__r.Status__c = 'Active'
ORDER BY Project_Milestone__r.Project__r.Name,
Project_Milestone__r.Name,
Due_Date__c
LIMIT 50];
}
return tasks;
}
@AuraEnabled
public static List<Milestone1_Task__c> getLateTasks() {
Map<DescribeSObjectResult, Set<String>> fieldsToCheck =
new Map<DescribeSObjectResult, Set<String>>();
fieldsToCheck.put(Milestone1_Task__c.sObjectType.getDescribe(),
new Set<String>{'id', 'name', 'due_date__c', 'assigned_to__c', 'complete__c'});
fieldsToCheck.put(Milestone1_Milestone__c.sObjectType.getDescribe(),
new Set<String>{'id', 'name'});
fieldsToCheck.put(Milestone1_Project__c.sObjectType.getDescribe(),
new Set<String>{'id', 'name'});
Boolean userCanAccess = true;
for (DescribeSObjectResult dfr : fieldsToCheck.keyset()) {
if (!Milestone1_Security_Utility.fieldsAllAccess(dfr, fieldsToCheck.get(dfr))) {
userCanAccess = false;
}
}
List<Milestone1_Task__c> tasks = new List<Milestone1_Task__c>();
if (userCanAccess) {
Id uid = UserInfo.getUserId();
Date td = Date.today();
tasks = [SELECT Id, Name, Due_Date__c,
Project_Milestone__c, Project_Milestone__r.Name,
Project_Milestone__r.Project__c,
Project_Milestone__r.Project__r.Name
FROM Milestone1_Task__c
WHERE Assigned_To__c = :uid
AND Complete__c = false
AND Due_Date__c < :td
ORDER BY Due_Date__c
LIMIT 50];
}
return tasks;
}
@AuraEnabled
public static List<Milestone1_Task__c> getBlockedTasks() {
Map<DescribeSObjectResult, Set<String>> fieldsToCheck =
new Map<DescribeSObjectResult, Set<String>>();
fieldsToCheck.put(Milestone1_Task__c.sObjectType.getDescribe(),
new Set<String>{'id', 'name', 'due_date__c', 'assigned_to__c', 'blocked__c'});
fieldsToCheck.put(Milestone1_Milestone__c.sObjectType.getDescribe(),
new Set<String>{'id', 'name'});
fieldsToCheck.put(Milestone1_Project__c.sObjectType.getDescribe(),
new Set<String>{'id', 'name'});
Boolean userCanAccess = true;
for (DescribeSObjectResult dfr : fieldsToCheck.keyset()) {
if (!Milestone1_Security_Utility.fieldsAllAccess(dfr, fieldsToCheck.get(dfr))) {
userCanAccess = false;
}
}
List<Milestone1_Task__c> tasks = new List<Milestone1_Task__c>();
if (userCanAccess) {
Id uid = UserInfo.getUserId();
tasks = [SELECT Id, Name, Due_Date__c,
Project_Milestone__c, Project_Milestone__r.Name,
Project_Milestone__r.Project__c,
Project_Milestone__r.Project__r.Name
FROM Milestone1_Task__c
WHERE Assigned_To__c = :uid
AND Blocked__c = true
ORDER BY Project_Milestone__r.Project__r.Name,
Project_Milestone__r.Name,
Due_Date__c
LIMIT 50];
}
return tasks;
}
}