Le repo des sources pour le site web des JM2L
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 

201 linhas
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. %>