Code source wiki de MeetingClassSheet

Version 1.1 par Vincent Massol le 2011/08/12 23:25

Afficher les derniers auteurs
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}}