Le repo des sources pour le site web des JM2L
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

201 lines
7.8 KiB

  1. ## -*- coding: utf-8 -*-
  2. <%inherit file="jm2l:templates/layout.mako"/>
  3. <%namespace name="helpers" file="jm2l:templates/helpers.mako"/>
  4. <%def name="jsAddOn()">
  5. <script src="/vendor/ckeditor/ckeditor.js"></script>
  6. <script src="/vendor/select2/js/select2.js"></script>
  7. <script src="/vendor/fileupload/js/jquery-uploader.min.js"></script>
  8. </%def>
  9. <%def name="cssAddOn()">
  10. <link rel="stylesheet" href="/vendor/select2/css/select2.css" type="text/css" media="screen" />
  11. <link rel="stylesheet" href="/vendor/fileupload/css/jquery.fileupload.css">
  12. <link rel="stylesheet" href="/vendor/fileupload/css/jquery.fileupload-ui.css">
  13. <link rel="stylesheet" href="/vendor/leaflet/css/leaflet.css" />
  14. <!-- CSS adjustments for browsers with JavaScript disabled -->
  15. <noscript><link rel="stylesheet" href="/vendor/fileupload/css/jquery.fileupload-noscript.css"></noscript>
  16. <noscript><link rel="stylesheet" href="/vendor/fileupload/css/jquery.fileupload-ui-noscript.css"></noscript>
  17. </%def>
  18. <% from datetime import datetime %>
  19. <div class="row-fluid">
  20. <div class="span10 offset1">
  21. % if 'uid' in form._fields:
  22. <div class="borderboxtime">
  23. ${event.start_time.strftime('%d %b %Y').decode('utf-8')} -
  24. ${event.start_time.strftime('%H:%M')} à ${event.end_time.strftime('%H:%M')}
  25. %if event.Salle:
  26. - <strong>Salle</strong>: ${event.Salle.name}
  27. %endif
  28. </div>
  29. %endif
  30. <h3 style="line-height:30px;" class="lowshadow">${form.event_type.data}</h3>
  31. % if 'uid' in form._fields:
  32. <div class="borderbox">
  33. Intrevenants programmés:
  34. <ul>
  35. % if event.intervenants.count()==0:
  36. <i><b>Aucun</b></i>
  37. % else:
  38. % for num, iterv in enumerate(event.intervenants):
  39. <li>
  40. <strong><a href="/user/${iterv.slug}">${iterv.prenom} ${iterv.nom}</a></strong>.
  41. % if iterv.pseudo:
  42. (${iterv.pseudo})
  43. %endif
  44. </li>
  45. % endfor
  46. % endif
  47. </ul>
  48. </div>
  49. <a href="/event/${event.for_year}/${event.slug}" class="pull-right">Voir la version publiée de cet évenement</a>
  50. <br clear="both">
  51. %endif
  52. <fieldset>
  53. <legend>Proposer un événement</legend>
  54. <form action="" method="POST">
  55. ${form.csrf_token}
  56. % if 'uid' in form._fields:
  57. ${form.uid}
  58. %endif
  59. ${form.start_time}
  60. ${form.end_time}
  61. <%
  62. DicForm = {
  63. 'for_year': {'PlaceHolder':u"Année", 'ContainerStyle':"padding-right:5px;float:left;", },
  64. 'event_type': {'PlaceHolder':u"Nom", 'ContainerStyle':"padding-right:5px;", },
  65. 'start_sel': {'PlaceHolder':u"Début", 'ContainerStyle':"padding-right:15px;float:left;", "FieldStyle":"width:15em;"},
  66. 'duration': {'PlaceHolder':u"Durée", 'ContainerStyle':"padding-right:15px;float:left;", "FieldStyle":"width:15em;"},
  67. 'salle_uid': {'PlaceHolder':u"Salle", 'ContainerStyle':"padding-right:15px;", "FieldStyle":"width:15em;"},
  68. 'name': {'PlaceHolder':u"Nom", 'ContainerStyle':"padding-right:5px;", "FieldStyle":"width:95%;"},
  69. 'description': {'PlaceHolder':u"Description", 'ContainerStyle':"padding-right:5px;", "FieldStyle":"width:90%;height:500px;", "ckeditor":1 },
  70. }
  71. %>
  72. ${helpers.DisplayForm(form, DicForm)}
  73. <br>
  74. <center>
  75. <button class="btn btn-large btn-primary" type="submit">Proposer</button>
  76. </center>
  77. </form>
  78. </fieldset>
  79. % if 'uid' in form._fields:
  80. <fieldset>
  81. <legend>Vos support de présentation</legend>
  82. <div style="float:right;width:60%">
  83. <p> En plus de vos support de présentation classique.
  84. Pensez aussi aux affiches, aux flyers, aux stickers,
  85. au bulletin d'adhésion à une association, à la documentation technique...
  86. Tous ce qui peut être utile, de près ou de loin à la promotion de votre évenement.
  87. </p>
  88. </div>
  89. ${helpers.uploader("event", form.uid.data, u"un support de présentation" )}
  90. </fieldset>
  91. %else:
  92. <p>NB: Vous devez proposer votre conférence avant de pouvoir
  93. téléverser votre support de présentation.
  94. </p>
  95. % endif
  96. % if 'uid' in form._fields:
  97. <fieldset>
  98. <legend>Indiquez l'entité dont vous faites la promotion :</legend>
  99. <p>
  100. <form action="/MesJM2L/${form.for_year.data}/${form.event_type.data}/link_tiers" method="POST">
  101. ${formAddT.event_uid}
  102. <input type="hidden" id="tiers" name="tiers" style="width:20em;"
  103. class="form-control select2-offscreen" tabindex="-1">
  104. </input>
  105. <button type="submit" class="btn btn-primary" />
  106. <i class="icon-plus icon-white"></i> Ajouter cette entitée
  107. </button>
  108. </form>
  109. NB : Notez que les entités séléctionnées apparaissent dans les exposants.
  110. </p>
  111. </fieldset>
  112. <fieldset>
  113. <legend>Ajouter vos co-intervenants</legend>
  114. <p>
  115. Vous avez la possibilité d'être plusieurs pour un même évenement.<br>
  116. Chacun des intervenants doit être inscrit sur le site.
  117. <form action="/MesJM2L/${form.for_year.data}/${form.event_type.data}/link_user" method="POST">
  118. ${formAdd.event_uid}
  119. <input type="hidden" id="intervenant" name="intervenant" style="width:20em;"
  120. class="form-control select2-offscreen" tabindex="-1">
  121. </input>
  122. <button type="submit" class="btn btn-primary" />
  123. <i class="icon-plus icon-white"></i> Ajouter cet intervenant
  124. </button>
  125. </form>
  126. NB : Notez que les intervenants d'un même évenement ont tous les droits de modification.
  127. </p>
  128. </fieldset>
  129. <div class="clearfix">&nbsp;</div>
  130. <p style="float:right;">Créé le ${event.created.strftime('%d %b %Y').decode('utf-8')}</p>
  131. %else:
  132. <p style="float:right;">Créé le
  133. ${datetime.now().strftime('%d %b %Y').decode('utf-8')}
  134. </p>
  135. % endif
  136. <br/>
  137. <hr/>
  138. </div>
  139. </div>
  140. <%def name="jsAddOn()">
  141. <script src="/vendor/select2/js/select2.js"></script>
  142. <script>
  143. jQuery(function() {
  144. $("#tiers").select2(
  145. {
  146. placeholder: 'Entrez ici votre entitée',
  147. minimumInputLength: 2, allowClear: true,
  148. ajax: {
  149. quietMillis: 250, url: "/json-tiers", dataType: 'json',
  150. data: function (term, page) {
  151. return { pageSize: 8, pageNum: page, searchTerm: term };
  152. },
  153. results: function (data, page) {
  154. var more = (page * 8) < data.Total;
  155. return { results: data.Results, more: more };
  156. }
  157. }
  158. });
  159. $("#intervenant").select2(
  160. {
  161. placeholder: 'Entrez ici un Nom ou un Prénom',
  162. minimumInputLength: 2, allowClear: true,
  163. ajax: {
  164. quietMillis: 250, url: "/json-users", dataType: 'json',
  165. data: function (term, page) {
  166. return { pageSize: 8, pageNum: page, searchTerm: term };
  167. },
  168. results: function (data, page) {
  169. var more = (page * 8) < data.Total;
  170. return { results: data.Results, more: more };
  171. }
  172. }
  173. });
  174. });
  175. </script>
  176. </%def>
  177. <%
  178. for jsitem in form._fields.keys():
  179. context._kwargs['postpone_js'].append( "$('#%s-help').popover();" % jsitem )
  180. if form._fields[jsitem].type=='SelectField':
  181. context._kwargs['postpone_js'].append( "$('#%s').select2({width:'resolve'});" % jsitem )
  182. if formAdd:
  183. for jsitem in formAdd._fields.keys():
  184. context._kwargs['postpone_js'].append( "$('#%s-help').popover();" % jsitem )
  185. %>