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.
 
 
 
 
 

219 lines
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. %>