Le repo des sources pour le site web des JM2L
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 

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