@@ -174,113 +174,16 @@ export const Case = ObjectSchema.create({
174174 searchable : true ,
175175 apiEnabled : true ,
176176 files : true ,
177- feedEnabled : true ,
177+ feeds : true , // Enable social feed, comments, and mentions
178+ activities : true , // Enable tasks and events tracking
178179 trash : true ,
180+ mru : true , // Track Most Recently Used
179181 } ,
180182
181- nameField : 'subject' ,
183+ titleFormat : '{case_number} - {subject}' ,
184+ compactLayout : [ 'case_number' , 'subject' , 'account' , 'status' , 'priority' ] ,
182185
183- list_views : {
184- all : {
185- label : 'All Cases' ,
186- type : 'grid' ,
187- columns : [ 'case_number' , 'subject' , 'account' , 'contact' , 'status' , 'priority' , 'owner' ] ,
188- sort : [ { field : 'created_date' , order : 'desc' } ] ,
189- searchableFields : [ 'case_number' , 'subject' , 'description' ] ,
190- } ,
191- my_cases : {
192- label : 'My Cases' ,
193- type : 'grid' ,
194- columns : [ 'case_number' , 'subject' , 'account' , 'status' , 'priority' ] ,
195- filter : [ [ 'owner' , '=' , '{current_user}' ] ] ,
196- sort : [ { field : 'priority' , order : 'desc' } ] ,
197- } ,
198- open_cases : {
199- label : 'Open Cases' ,
200- type : 'grid' ,
201- columns : [ 'case_number' , 'subject' , 'account' , 'status' , 'priority' , 'owner' ] ,
202- filter : [ [ 'is_closed' , '=' , false ] ] ,
203- sort : [ { field : 'priority' , order : 'desc' } ] ,
204- } ,
205- critical_cases : {
206- label : 'Critical Cases' ,
207- type : 'grid' ,
208- columns : [ 'case_number' , 'subject' , 'account' , 'contact' , 'status' , 'owner' ] ,
209- filter : [
210- [ 'priority' , '=' , 'critical' ] ,
211- [ 'is_closed' , '=' , false ] ,
212- ] ,
213- sort : [ { field : 'created_date' , order : 'asc' } ] ,
214- } ,
215- escalated_cases : {
216- label : 'Escalated Cases' ,
217- type : 'grid' ,
218- columns : [ 'case_number' , 'subject' , 'account' , 'priority' , 'escalation_reason' , 'owner' ] ,
219- filter : [ [ 'is_escalated' , '=' , true ] ] ,
220- } ,
221- by_status : {
222- label : 'Cases by Status' ,
223- type : 'kanban' ,
224- columns : [ 'case_number' , 'subject' , 'account' , 'priority' ] ,
225- filter : [ [ 'is_closed' , '=' , false ] ] ,
226- kanban : {
227- groupByField : 'status' ,
228- columns : [ 'case_number' , 'subject' , 'contact' , 'priority' ] ,
229- }
230- } ,
231- sla_violations : {
232- label : 'SLA Violations' ,
233- type : 'grid' ,
234- columns : [ 'case_number' , 'subject' , 'account' , 'sla_due_date' , 'owner' ] ,
235- filter : [ [ 'is_sla_violated' , '=' , true ] ] ,
236- sort : [ { field : 'sla_due_date' , order : 'asc' } ] ,
237- }
238- } ,
239-
240- form_views : {
241- default : {
242- type : 'tabbed' ,
243- sections : [
244- {
245- label : 'Case Information' ,
246- columns : 2 ,
247- fields : [ 'case_number' , 'subject' , 'type' , 'origin' , 'priority' , 'status' , 'owner' ] ,
248- } ,
249- {
250- label : 'Customer Information' ,
251- columns : 2 ,
252- fields : [ 'account' , 'contact' ] ,
253- } ,
254- {
255- label : 'Description' ,
256- columns : 1 ,
257- fields : [ 'description' ] ,
258- } ,
259- {
260- label : 'Resolution' ,
261- columns : 1 ,
262- fields : [ 'resolution' , 'customer_rating' , 'customer_feedback' , 'customer_signature' ] ,
263- } ,
264- {
265- label : 'SLA & Metrics' ,
266- columns : 2 ,
267- fields : [ 'created_date' , 'first_response_date' , 'closed_date' , 'resolution_time_hours' , 'sla_due_date' , 'is_sla_violated' ] ,
268- } ,
269- {
270- label : 'Escalation' ,
271- columns : 2 ,
272- collapsible : true ,
273- fields : [ 'is_escalated' , 'escalation_reason' , 'parent_case' ] ,
274- } ,
275- {
276- label : 'Internal Information' ,
277- columns : 1 ,
278- collapsible : true ,
279- fields : [ 'internal_notes' ] ,
280- }
281- ]
282- }
283- } ,
186+ // Removed: list_views and form_views belong in UI configuration, not object definition
284187
285188 validations : [
286189 {
0 commit comments