Show last authors
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 }

Tips

You can click on the arrows next to the breadcrumb elements to quickly navigate to sibling and children pages.

My Recent Modifications

Need help?

If you need help with XWiki you can contact: