1 package hudsonfog.voc.system;
2
3 import com.fogx.webdav.DavResource;
4 import com.fogx.webdav.DavClass;
5 import com.fogx.webdav.DavBean;
6 import com.fogx.webdav.DavProperty;
7 import static com.fogx.webdav.DavProperty.*;
8 import com.fogx.webdav.packages.DavBeanPackage;
9 import com.fogx.webdav.util.DavResourceSupport;
10 import com.fogx.webdav.util.UrlUtil;
11 import java.util.Date;
12 import java.util.Map;
13 import java.util.HashMap;
14 import java.util.List;
15 import java.util.Collections;
16 import java.util.Arrays;
17
18 import hudsonfog.voc.system.primitiveTypes.*;
19 import hudsonfog.voc.system.identity.*;
20 import hudsonfog.voc.system.parse.*;
21 import hudsonfog.voc.system.XMLSchema.*;
22
23 import hudsonfog.voc.system.fog.*;
24
25
26 public abstract class changeHistory {
27
28
32 public static interface ModificationHistory {
33 @_avoidDisplayingInSideBar
34 @_notSearchable
35 @_backLink("forResource")
36 public Modification[] changeHistory = null; @_readOnly
38 @_avoidDisplaying
39 public Modification lastModification = null;
40 @_avoidModificationTracking
41 @_dateFormat("~MMM-dd, yyyy HH:mm")
42 @_sortAscending(false)
43 @_icon("icons/touched.gif")
44 @_readOnly
45 public dateTime touched = null;
46 @_editModeOnly
47 @_maxSize(250)
48 @_notSearchable
49 @_parameter
50 public String editNotes = null; @_dateFormat("~MMM-dd, yyyy HH:mm")
52 @_avoidModificationTracking
53 @_icon("icons/edit.gif")
54 @_readOnly
55 public dateTime lastModified = writeJS("getLastModified()"); }
57
58
61 @DavClass._notClonable
62 @DavClass._viewCols("dateModified, modifiedBy, forResource, newValues, editNotes, memberResource, memberLabel")
63 @DavClass._smallIcon("icons/edit-small.gif")
64 @DavClass._avoidEditing
65 @DavClass._largeIcon("icons/edit-large.gif")
66 @DavClass._gridCols("modifiedBy, modified")
67 @DavClass._icon("icons/edit.gif")
68 public static class Modification {
69 @k public Integer seq;
70 @_displayNameElm
71 @_delegatedAccessControl
72 @k public ModificationHistory forResource; @_avoidDisplaying
74 @k public DavClass forResourceClass;
75 @s public ImportItem partOf; @_allowRoles("admin")
77 public Entry relatedTo; @_icon("icons/classes/Contact.gif")
79 public PersonIdentifier modifiedBy = writeJS("modifiedBy ? modifiedBy : getContact()");
80 @_label("Modified")
81 @_propertyGroupList("forResource, newValues, memberResource")
82 @_abstract
83 @_propertyGroup("true")
84 public Boolean modified;
85 @_maxSize(63000)
86 public modificationDelta newValues;
87 @_maxSize(63000)
88 public modificationDelta oldValues;
89 @_dateFormat("MMM-dd, yyyy HH:mm")
90 @_sortAscending(false)
91 @_readOnly
92 public dateTime dateModified;
93 @_maxSize(1000)
94 @_displayInline
95 public String editNotes;
96 public DavClass memberClass;
97 public DavResource memberResource;
98 @_maxSize(1000)
99 public String memberLabel;
100 }
101 }
102