Code source wiki de MeetingClassSheet

Modifié par Vincent Massol le 2011/08/13 10:33

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