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.
 
 
 
 
 

220 lines
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