Wiki source code of MoccaCalendarEventValidation
Last modified by Andrey Che on 2018/12/10 14:09
Hide last authors
![]() |
1.1 | 1 | import com.xpn.xwiki.validation.*; |
2 | |||
3 | import com.xpn.xwiki.XWikiContext; | ||
4 | import com.xpn.xwiki.objects.BaseObject; | ||
5 | import com.xpn.xwiki.doc.XWikiDocument; | ||
6 | |||
7 | public class Val implements XWikiValidationInterface { | ||
8 | private String MoccaCalendarEventClass = "MoccaCalendar.MoccaCalendarEventClass"; | ||
9 | |||
10 | |||
11 | public boolean validateDocument(XWikiDocument doc, XWikiContext context) { | ||
12 | try{ | ||
13 | |||
14 | def classDocumentReference = doc.resolveClassReference(MoccaCalendarEventClass); | ||
15 | |||
16 | BaseObject obj = doc.getXObject(classDocumentReference, 0); | ||
17 | if (obj == null) { | ||
18 | return true; | ||
19 | } | ||
20 | Date startDate = obj.getDateValue("startDate"); | ||
21 | Date endDate = obj.getDateValue("endDate"); | ||
22 | String title = obj.getStringValue("title"); | ||
23 | // boolean allDay = obj.getIntValue("allDay") == 1 | ||
24 | |||
25 | boolean valid = true; | ||
26 | if(startDate == null) { | ||
27 | obj.setDateValue("startDate",new Date()); | ||
28 | startDate=obj.getDateValue("startDate"); | ||
29 | } | ||
30 | |||
31 | if(endDate!=null && startDate !=null) { | ||
32 | if(endDate.getTime()<startDate.getTime()) { | ||
33 | valid = false; | ||
34 | XWikiValidationStatus.addErrorToContext(MoccaCalendarEventClass, "endDate", "End Date", "val_endDate", context); | ||
35 | } | ||
36 | } | ||
37 | |||
38 | com.xpn.xwiki.web.XWikiRequest request = context.getRequest(); | ||
39 | String action = request.getParameter("ocalcaction"); | ||
40 | if("create".equals(action)) { | ||
41 | if(!doc.isNew()) { | ||
42 | valid = false; | ||
43 | XWikiValidationStatus.addErrorToContext(MoccaCalendarEventClass, "title", "Title", "val_title_already_exists", context); | ||
44 | } | ||
45 | } | ||
46 | return valid; | ||
47 | }catch(Exception e) { | ||
48 | System.out.println("VALIDATION EXCEPTION"); | ||
49 | e.printStackTrace(); | ||
50 | throw e; | ||
51 | } | ||
52 | } | ||
53 | |||
54 | public boolean validateObject(BaseObject object, XWikiContext context) { | ||
55 | return true; | ||
56 | } | ||
57 | |||
58 | } |