Code source wiki de MeetingClassSheet
Version 1.1 par Vincent Massol le 2011/08/12 23:25
Afficher les derniers auteurs
author | version | line-number | content |
---|---|---|---|
1 | {{velocity filter="none"}} | ||
2 | {{html clean="false" wiki="true"}} | ||
3 | ## Configuration | ||
4 | ## sets if we want to limit possibilities depending on the meeting state | ||
5 | #set($isWorkflowEnforced = false) | ||
6 | ## sets if participants can also edit everything | ||
7 | #set($isRightsEnforced = false) | ||
8 | ## | ||
9 | ## -------------------------------------------------------------------------------------- | ||
10 | ## SX includes | ||
11 | ## -------------------------------------------------------------------------------------- | ||
12 | #set($ok = $xwiki.jsx.use("MMCode.MeetingManager")) | ||
13 | #set($ok = $xwiki.ssx.use("MMCode.MeetingManager")) | ||
14 | ##set($ok = $xwiki.jsx.use("MMCode.MeetingEmails")) | ||
15 | ##set($ok = $xwiki.ssx.use("MMCode.MeetingEmails")) | ||
16 | #set($ok = $xwiki.jsx.use("XWiki.ModalBox")) | ||
17 | #set($ok = $xwiki.ssx.use("XWiki.ModalBox")) | ||
18 | #set($ok = $xwiki.jsx.use("XWiki.LiveValidation")) | ||
19 | #set($ok = $xwiki.ssx.use("XWiki.LiveValidation")) | ||
20 | #set($ok = $xwiki.jsfx.use("js/xwiki/usersandgroups/usersandgroups.js", true)) | ||
21 | #set($ok = $xwiki.jsfx.use("js/xwiki/lightbox/lightbox.js")) | ||
22 | ## -------------------------------------------------------------------------------------- | ||
23 | ## Include Macros. | ||
24 | ## FIXME: remove the hidden div and include in a velocity macro with no output when is fixed. | ||
25 | ## -------------------------------------------------------------------------------------- | ||
26 | <div class="hidden"> | ||
27 | {{include document="MMCode.MeetingManagerMacros" /}} | ||
28 | </div> | ||
29 | ## -------------------------------------------------------------------------------------- | ||
30 | ## Header. | ||
31 | ## -------------------------------------------------------------------------------------- | ||
32 | <h1 class="meetingh1"> | ||
33 | $msg.get('meetings.meeting.sheettitle') | ||
34 | <span> | ||
35 | $msg.get('meetings.meeting.status') : | ||
36 | </span> | ||
37 | </h1> | ||
38 | #set($meeting = $doc.getObject("MMCode.MeetingClass")) | ||
39 | #if(!$meeting) #warning("$msg.get('meetings.no_meeting')") | ||
40 | #else | ||
41 | ## -------------------------------------------------------------------------------------- | ||
42 | ## Meeting vars. See macros. | ||
43 | ## -------------------------------------------------------------------------------------- | ||
44 | #set($isManager = false) | ||
45 | #if($isRightsEnforced) | ||
46 | #set($isManager = $doc.hasAccessLevel("edit")) | ||
47 | #else | ||
48 | #isManager($doc, $isManager) | ||
49 | #end | ||
50 | #set($isParticipant = false) | ||
51 | #isParticipant($doc, $isParticipant) | ||
52 | #set($isCyclic = false) | ||
53 | #isCyclic($doc, $isCyclic) | ||
54 | #set($meetingDoc = $doc) ## Will be used by included documents. | ||
55 | #set($participants = $meetingDoc.getObjects("MMCode.MeetingParticipantClass")) | ||
56 | #set($attempts = $meetingDoc.getObjects("MMCode.MeetingDateAttemptClass")) | ||
57 | ## -------------------------------------------------------------------------------------- | ||
58 | ## Layout vars | ||
59 | ## -------------------------------------------------------------------------------------- | ||
60 | #set ($showinformation = "no") | ||
61 | #if(!$isManager) #set ($showhistory = "no") #end | ||
62 | ##set ($showcomments = "no") | ||
63 | ## -------------------------------------------------------------------------------------- | ||
64 | ## Display possible transition action button (start, close, make cyclic, etc.) | ||
65 | ## -------------------------------------------------------------------------------------- | ||
66 | #set($status = "$!meeting.getProperty('status').value") | ||
67 | #if($status == "prepared" && ($isManager || $isParticipant)) | ||
68 | <div id="startmeeting" class="changestep">$msg.get('meetings.meeting.startmeeting')</div> | ||
69 | #end | ||
70 | #if($status == "started" && ($isManager || $isParticipant)) | ||
71 | <div id="endmeeting" class="changestep">$msg.get('meetings.meeting.endmeeting')</div> | ||
72 | #end | ||
73 | #if($status == "finished" && !$isCyclic && ($isManager || $isParticipant)) | ||
74 | <div id="makecycle" class="changestep">$msg.get('meetings.meeting.makecycle')</div> | ||
75 | #end | ||
76 | ## -------------------------------------------------------------------------------------- | ||
77 | ## Meeting Section: Infos | ||
78 | ## -------------------------------------------------------------------------------------- | ||
79 | <div id="meetingInfos"#if($isCyclic) class="cyclic"#end> | ||
80 | #if($isManager && ("$!status" != "finished" && "$!status" != "started") || !$isWorkflowEnforced) | ||
81 | <div id="editmeetinginfos">$msg.get('meetings.meeting.infos.edit')</div> | ||
82 | #end | ||
83 | <div id="meetinginfoscontent">{{include document="MMCode.MeetingInfos"/}}</div> | ||
84 | </div> | ||
85 | ## -------------------------------------------------------------------------------------- | ||
86 | ## Meeting Section: Date / Vote | ||
87 | ## -------------------------------------------------------------------------------------- | ||
88 | <a name="date"></a> | ||
89 | #if(($status != "started" && $status != "finished") || !$isWorkflowEnforced) | ||
90 | #set($isDateDefined = false) | ||
91 | #isDateDefined($doc, $isDateDefined) | ||
92 | <div class="clearfloat"></div> | ||
93 | #if(!$isDateDefined && ("$status" == "none" || "$status"=="voteopen" )) | ||
94 | #if($doc.getObject("MMCode.MeetingDateAttemptClass")) | ||
95 | {{include document="MMCode.MeetingDateVote"/}} | ||
96 | #if($isManager) | ||
97 | <div class="hidden" id="meetingdatefixed"> | ||
98 | {{include document="MMCode.MeetingDateSelection"/}} | ||
99 | #help("$msg.get('meetings.meeting.vote.finishvotehelp')") | ||
100 | </div> | ||
101 | #end | ||
102 | #else | ||
103 | #if($isManager) | ||
104 | <div id="meetingdatetype"> | ||
105 | <h2 class="meetingh2">$msg.get('meetings.meeting.date')</h2> | ||
106 | <div class="ismanager"> | ||
107 | $msg.get('meetings.meeting.date.choosetype') | ||
108 | <div> | ||
109 | <input type="radio" id="meetingdatetypefixed" selected="" /> $msg.get("meetings.meeting.date.fixed") | ||
110 | </div> | ||
111 | <div> | ||
112 | <input type="radio" id="meetingdatetypevote" selected="" /> $msg.get("meetings.meeting.date.vote") | ||
113 | </div> | ||
114 | </div> | ||
115 | </div> | ||
116 | <div class="hidden" id="meetingdatevote2">{{include document="MMCode.MeetingDateVote"/}}</div> | ||
117 | <div class="hidden" id="meetingdatefixed">{{include document="MMCode.MeetingDateSelection"/}}</div> | ||
118 | #end | ||
119 | #end | ||
120 | #else | ||
121 | {{include document="MMCode.MeetingDateSelection"/}} | ||
122 | #if(!$isDateDefined) #warning("$msg.get('meetings.meeting.date.noinformation')") #end | ||
123 | #end | ||
124 | #end | ||
125 | ## -------------------------------------------------------------------------------------- | ||
126 | ## Meeting Section: Participants | ||
127 | ## -------------------------------------------------------------------------------------- | ||
128 | <a name="participants"></a> | ||
129 | <h2 class="meetingh2">$msg.get('meetings.meeting.participants')</h2> | ||
130 | <div id="participants"> | ||
131 | #if($isManager && ("$!status" != "finished" || !$isWorkflowEnforced)) | ||
132 | <div id="addparticipant">$msg.get('meetings.meeting.participants.addparticipant')</div> | ||
133 | <div class="ismanager hidden" id="addparticipantinner"> | ||
134 | <strong>$msg.get('meetings.meeting.participants.searchparticipant')</strong> | ||
135 | <input type="text" name="participant-suggest" id="participant-suggest" autocomplete="off" size="50"/> | ||
136 | <input type="hidden" name="participant-input" id="participant-input" /> | ||
137 | <ul id="participant-items" "pagepicker-list"> | ||
138 | </ul> | ||
139 | <input id="participantaddnotif" type="checkbox" checked />$msg.get('meetings.meeting.participants.sendemail') | ||
140 | <span class="buttonwrapper"> | ||
141 | <button id="participantadd" disabled="disabled">$msg.get('meetings.meeting.participants.add')</button> | ||
142 | </span> | ||
143 | </div> | ||
144 | #end | ||
145 | <div id="participantscontent"> | ||
146 | #if(!$participants || $participants.size() == 0) | ||
147 | <div id="noparticipant">#warning("$msg.get('meetings.meeting.participants.noparticipant')")</div> | ||
148 | #end | ||
149 | <ul class="xlist participants left" id="participantsleft"> | ||
150 | #if($participants && $participants.size() > 0) | ||
151 | #foreach($p in $participants) | ||
152 | #participantitem($p $isManager $status) | ||
153 | #if($velocityCount == $mathtool.round($mathtool.div($participants.size(),2))|| $participants.size() <= 1) | ||
154 | </ul> | ||
155 | <ul class="xlist participants right" id="participantsright"> | ||
156 | #end | ||
157 | #end | ||
158 | #else | ||
159 | </ul> | ||
160 | <ul class="xlist participants right" id="participantsright"> | ||
161 | #end | ||
162 | </ul> | ||
163 | <div class="clearfloat"></div> | ||
164 | </div> | ||
165 | </div> | ||
166 | ## -------------------------------------------------------------------------------------- | ||
167 | ## Meeting Section: Minutes | ||
168 | ## -------------------------------------------------------------------------------------- | ||
169 | #if($status == "started" || $status == "finished" || !$isWorkflowEnforced) | ||
170 | {{include document="MMCode.MeetingMinutes"/}} | ||
171 | #if(($status == "started") && ($isManager || $isParticipant)) | ||
172 | <div class="meetingminutesbutton"> | ||
173 | <div id="endmeetingbottom" class="changestep">$msg.get('meetings.meeting.endmeeting')</div> | ||
174 | </div> | ||
175 | #end | ||
176 | #end | ||
177 | #end | ||
178 | {{/html}} | ||
179 | {{/velocity}} |