Code source wiki de MeetingClassSheet
Modifié par Vincent Massol le 2011/08/13 10:33
Afficher les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| 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}} |