Le repo des sources pour le site web des JM2L
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 

220 Zeilen
8.3 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. <style>
  20. .borderbox {
  21. border: 1px solid #e1e4e5;
  22. margin: 1px 0 24px;
  23. color: #404040;
  24. line-height: 1.5;
  25. margin: 0;
  26. overflow: auto;
  27. padding: 12px;
  28. background: none repeat scroll 0 0 #fcfcfc;
  29. font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;
  30. }
  31. .titleborderbox {
  32. background: none repeat scroll 0 0 #ffffff;
  33. border: 1px solid #eee;
  34. display: inline;
  35. left: 16px;
  36. padding: 2px 7px;
  37. position: relative;
  38. top: 10px;
  39. }
  40. .borderboxtime {
  41. float:right;
  42. padding:1px 15px;
  43. border: 1px solid #eee;
  44. }
  45. </style>
  46. % if 'uid' in form._fields:
  47. <div class="borderboxtime">
  48. ${event.start_time.strftime('%d %b %Y').decode('utf-8')} -
  49. ${event.start_time.strftime('%H:%M')} à ${event.end_time.strftime('%H:%M')}
  50. %if event.Salle:
  51. - <strong>Salle</strong>: ${event.Salle.name}
  52. %endif
  53. </div>
  54. %endif
  55. <h3 style="line-height:30px;">${form.event_type.data}</h3>
  56. % if 'uid' in form._fields:
  57. <div class="borderbox">
  58. Intrevenants programmés:
  59. <ul>
  60. % if event.intervenants.count()==0:
  61. <i><b>Aucun</b></i>
  62. % else:
  63. % for num, iterv in enumerate(event.intervenants):
  64. <li>
  65. <strong><a href="/MesJM2L?user=${iterv.uid}">${iterv.prenom} ${iterv.nom}</a></strong>.
  66. % if iterv.pseudo:
  67. (${iterv.pseudo})
  68. %endif
  69. </li>
  70. % endfor
  71. % endif
  72. </ul>
  73. </div>
  74. <a href="/event/${event.for_year}/${event.slug}" class="pull-right">Voir la version publiée de cet évenement</a>
  75. <br clear="both">
  76. %endif
  77. <fieldset>
  78. <legend>Proposer un événement</legend>
  79. <form action="" method="POST">
  80. ${form.csrf_token}
  81. % if 'uid' in form._fields:
  82. ${form.uid}
  83. %endif
  84. ${form.start_time}
  85. ${form.end_time}
  86. <%
  87. DicForm = {
  88. 'for_year': {'PlaceHolder':u"Année", 'ContainerStyle':"padding-right:5px;float:left;", },
  89. 'event_type': {'PlaceHolder':u"Nom", 'ContainerStyle':"padding-right:5px;", },
  90. 'start_sel': {'PlaceHolder':u"Début", 'ContainerStyle':"padding-right:15px;float:left;", "FieldStyle":"width:15em;"},
  91. 'duration': {'PlaceHolder':u"Durée", 'ContainerStyle':"padding-right:15px;float:left;", "FieldStyle":"width:15em;"},
  92. 'salle_uid': {'PlaceHolder':u"Salle", 'ContainerStyle':"padding-right:15px;", "FieldStyle":"width:15em;"},
  93. 'name': {'PlaceHolder':u"Nom", 'ContainerStyle':"padding-right:5px;", "FieldStyle":"width:95%;"},
  94. 'description': {'PlaceHolder':u"Description", 'ContainerStyle':"padding-right:5px;", "FieldStyle":"width:90%;height:500px;", "ckeditor":1 },
  95. }
  96. %>
  97. ${helpers.DisplayForm(form, DicForm)}
  98. <button type="submit">Proposer</button>
  99. </form>
  100. </fieldset>
  101. % if 'uid' in form._fields:
  102. <fieldset>
  103. <legend>Vos support de présentation</legend>
  104. <div style="float:right;width:60%">
  105. <p> En plus de vos support de présentation classique.
  106. Pensez aussi aux affiches, aux flyers, aux stickers,
  107. au bulletin d'adhésion à une association, à la documentation technique...
  108. Tous ce qui peut être utile, de près ou de loin à la promotion de votre évenement.
  109. </p>
  110. </div>
  111. ${helpers.uploader("event", form.uid.data, u"un support de présentation" )}
  112. </fieldset>
  113. %else:
  114. <p>NB: Vous devez proposer votre conférence avant de pouvoir
  115. téléverser votre support de présentation.
  116. </p>
  117. % endif
  118. % if 'uid' in form._fields:
  119. <fieldset>
  120. <legend>Ajouter vos co-intervenants</legend>
  121. <p>
  122. Vous avez la possibilité d'être plusieurs pour un même évenement.
  123. Pour enregistrer une autre personne, deux cas peuvent se présenter:
  124. <ul>
  125. <li>Votre partenaire n'est pas inscrit sur le site</li>
  126. <p>
  127. Inscrivez son email avec son accord dans le champ suivant,
  128. Un mail lui sera envoyé pour qu'il procède à son inscription.
  129. Un fois son inscription effectué, reportez vous au deuxième cas.
  130. </p>
  131. <li>Votre partenaire est inscrit sur le site</li>
  132. <p>
  133. Demandez lui l'email utilisé lors de son inscription sur le site des JM2L.
  134. Complétez le champ suivant et validez.
  135. </p>
  136. </ul>
  137. Notez que les intervenants d'un même évenement ont tous les droits de modification.
  138. </p>
  139. <form action="/MesJM2L/${form.for_year.data}/${form.event_type.data}/link" method="POST">
  140. ${formAdd.event_uid}
  141. <%
  142. TabFields = [
  143. ( formAdd._fields["prenom"], u"Prénom", "padding-right:5px;float:left;" ),
  144. ( formAdd._fields["nom"], u"Nom", "padding-right:5px;" ),
  145. ( formAdd._fields["email"], u"son.mail@fqdn.tld", "padding-right:5px;" ),
  146. ]
  147. %>
  148. % for Field, PlaceHolder, DivClass in TabFields:
  149. <div style="padding-right:5px;${DivClass}">
  150. <label for="${Field.label.field_id}">${Field.label.text}
  151. % if len(Field.description):
  152. <a id="${Field.label.field_id}-help" data-toggle="popover"
  153. data-original-title="${Field.label.text}"
  154. data-content="${Field.description}">
  155. <i class="icon-me" style="background-image: url('/img/Help.png');background-position:1px 2px;"></i>
  156. </a>
  157. % endif
  158. </label>
  159. % for error in Field.errors:
  160. <div class="alert alert-error">
  161. <button type="button" class="close" data-dismiss="alert">&times;</button>
  162. <h4>Erreur!</h4>
  163. ${ error }
  164. </div>
  165. % endfor
  166. ${Field(placeholder=PlaceHolder, style="width:16em;")}
  167. </div>
  168. % endfor
  169. ## Then the submit for this form
  170. ${formAdd.add}
  171. </form>
  172. </fieldset>
  173. <div class="clearfix">&nbsp;</div>
  174. <p style="float:right;">Créé le ${event.created.strftime('%d %b %Y').decode('utf-8')}</p>
  175. %else:
  176. <p style="float:right;">Créé le
  177. ${datetime.now().strftime('%d %b %Y').decode('utf-8')}
  178. </p>
  179. % endif
  180. <br/>
  181. <hr/>
  182. % if 0:
  183. % if 'uid' in form._fields:
  184. ${helpers.uploader_js()}
  185. % endif
  186. <script type="text/javascript">
  187. ## Handle Popover of this form
  188. % for field in form._fields.keys():
  189. $('#${field}-help').popover();
  190. % if form._fields[field].type=='SelectField':
  191. $('#${field}').select2({width:'resolve'});
  192. % endif
  193. %endfor
  194. % if formAdd:
  195. % for field in formAdd._fields.keys():
  196. $('#${field}-help').popover();
  197. %endfor
  198. % endif
  199. var editor = CKEDITOR.replace('description', { autoGrow_onStartup: true, language: 'fr' } );
  200. </script>
  201. % else:
  202. <%
  203. for jsitem in form._fields.keys():
  204. context._kwargs['postpone_js'].append( "$('#%s-help').popover();" % jsitem )
  205. if form._fields[jsitem].type=='SelectField':
  206. context._kwargs['postpone_js'].append( "$('#%s').select2({width:'resolve'});" % jsitem )
  207. if formAdd:
  208. for jsitem in formAdd._fields.keys():
  209. context._kwargs['postpone_js'].append( "$('#%s-help').popover();" % jsitem )
  210. %>
  211. ${helpers.uploader_js()}
  212. % endif