Hide last authors
Andrey Che 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 }

Tips

If you're starting with XWiki, check out the Getting Started Guide.

My Recent Modifications

Need help?

If you need help with XWiki you can contact: