Преглед изворни кода

Fix typo on entité

Added some video on Home page for 2010 and 2011
Added Calendar Mime-Type for ICS
master
tr4ck3ur des JM2L пре 9 година
родитељ
комит
d949363456
4 измењених фајлова са 63 додато и 9 уклоњено
  1. +1
    -1
      jm2l/templates/Profil/Profil.mako
  2. +2
    -2
      jm2l/templates/edit_event.mako
  3. +1
    -1
      jm2l/templates/list_tiers.mako
  4. +59
    -5
      jm2l/views.py

+ 1
- 1
jm2l/templates/Profil/Profil.mako Прегледај датотеку

@@ -77,7 +77,7 @@ ${helpers.DisplayRespForm(profil_form, DicFormB)}
<thead>
<tr class="row">
<th style="width:4em;text-align:center;">Année</th>
<th style="width:19em;text-align:center;">Entitée</th>
<th style="width:19em;text-align:center;">Entité</th>
<th style="text-align:center";>Rôle</th>
<th style="width:6em;text-align:center;">Action</th>
</tr>


+ 2
- 2
jm2l/templates/edit_event.mako Прегледај датотеку

@@ -116,7 +116,7 @@ DicForm = {
class="form-control select2-offscreen" tabindex="-1">
</input>
<button type="submit" class="btn btn-primary" />
<i class="icon-plus icon-white"></i> Ajouter cette entitée
<i class="icon-plus icon-white"></i> Ajouter cette entité
</button>
</form>
NB : Notez que les entités séléctionnées apparaissent dans les exposants.
@@ -162,7 +162,7 @@ DicForm = {
jQuery(function() {
$("#tiers").select2(
{
placeholder: 'Entrez ici votre entitée',
placeholder: 'Entrez ici votre entité',
minimumInputLength: 2, allowClear: true,
ajax: {
quietMillis: 250, url: "/json-tiers", dataType: 'json',


+ 1
- 1
jm2l/templates/list_tiers.mako Прегледај датотеку

@@ -5,7 +5,7 @@


<span class="pull-right">
<a href="/entity">Ajouter une entitée</a> -
<a href="/entity">Ajouter une entité</a> -
<a href="/categorie/entity">Editer les catégories</a>
</span>
<br>


+ 59
- 5
jm2l/views.py Прегледај датотеку

@@ -36,6 +36,14 @@ def remove_accents(input_str):
only_ascii = nkfd_form.encode('ASCII', 'ignore')
return only_ascii

def embeed_video(mime_type, link):
Container = "<video controls='controls' preload='metadata' style='width:60%'>"
Container += "<source type='%s' " % mime_type
Container += "src='%s' />" % link
Container += "</video>"
return Container


## =-=- Here, We handle ICal requests -=-=
@view_config(route_name='progr_iCal', renderer="string")
def ICal_Progamme_Request(request):
@@ -65,6 +73,7 @@ def ICal_Progamme_Request(request):
event.add('url', "http://www.linux-azur.org/event/%s/%s" % (ev.for_year, ev.slug) )
event.add('priority', 5)
cal.add_component(event)
request.response.content_type = "text/calendar"
return cal.to_ical()

## =-=- Here, We handle Json requests -=-=
@@ -149,6 +158,9 @@ def JSON_Progamme_Request(request):
"status":ev.event_type
} )
DicResult[Day.day] = ListEv



return { 'all':DicResult }

@view_config(route_name='timeline_json', renderer="json")
@@ -195,7 +207,7 @@ def JSON_TimeLine_Request(request):
"credit": ",".join(["%s %s" % (i.prenom, i.nom) for i in ev.intervenants]),
"caption":"" }
} )
if year=="2015":
if year==2015:
DicResult = {
"lang":"fr",
"headline":"JM2L 2015",
@@ -209,6 +221,33 @@ def JSON_TimeLine_Request(request):
"caption":""
}
}
elif year==2011:
DicResult = {
"lang":"fr",
"headline":"JM2L 2011",
"type":"default",
"startDate":"2011,11,25,10",
"text":"<i><span class='c1'>6ème Édition</span></i>",
"asset":
{
"media":"https://www.youtube.com/embed/rcaNeXuAEhs",
"credit":"JM2L",
"caption":"Reportage FR3"
},
}
elif year==2010:
DicResult = {
"lang":"fr",
"headline":"JM2L 2010",
"type":"default",
"text":"<i><span class='c1'>5ème Édition</span></i>",
"asset":
{
"media":embeed_video("video/ogg","http://jm2l.linux-azur.org/resources/2010/Video/reportages/JM2L2010-PleinSudTV.ogv"),
"credit":"JM2L",
"caption":"reportage Plein-sud TV"
}
}
else:
DicResult = {
"lang":"fr",
@@ -252,6 +291,9 @@ def index_page(request):
@view_config(route_name='edit_index', renderer="jm2l:templates/Staff/EditIndex.mako")
def edit_index(request):
year = int(request.matchdict.get('year', None))
if not request.user.Staff:
# Don't answer to users that aren't logged
raise HTTPForbidden(u'Vous n\'avez pas l\'autorité suffisante pour effectuer cette action.')
content = DBSession.query(JM2L_Year).filter(JM2L_Year.year_uid==year).first()
form = IndexForm(request.POST, content, meta={'csrf_context': request.session})
if request.method == 'POST' and form.validate():
@@ -293,6 +335,12 @@ def static_presse(request):
@view_config(route_name='edit_presse', renderer="jm2l:templates/Staff/EditPresse.mako")
def edit_presse(request):
year = int(request.matchdict.get('year', None))
if request.user is None:
# Don't answer to users that aren't logged
raise HTTPForbidden(u'Vous devez vous identifier pour obtenir une réponse.')
if not request.user.Staff:
# Don't answer to users that aren't logged
raise HTTPForbidden(u'Vous n\'avez pas l\'autorité suffisante pour effectuer cette action.')
content = DBSession.query(JM2L_Year).filter(JM2L_Year.year_uid==year).first()
form = DossPresse(request.POST, content, meta={'csrf_context': request.session})
if request.method == 'POST' and form.validate():
@@ -430,6 +478,12 @@ def action_task(request):

@view_config(route_name='action_task_area')
def action_task_area(request):
if request.user is None:
# Don't answer to users that aren't logged
raise HTTPForbidden(u'Vous devez vous identifier pour obtenir une réponse.')
if not request.user.Staff:
# Don't answer to users that aren't logged
raise HTTPForbidden(u'Vous n\'avez pas l\'autorité suffisante pour effectuer cette action.')
action = request.matchdict.get('action')
pole_id = request.matchdict.get('pole_id')
Pole = TasksArea.by_id(int(pole_id))
@@ -962,7 +1016,7 @@ def link_event_tiers(request):
TargetEvent = Event.by_id(form.event_uid.data)
Exist = Tiers.by_id(form.tiers.data)
if not Exist:
request.session.flash(('error',u"Une erreur s'est produite lors de l'ajout de votre entitée !"))
request.session.flash(('error',u"Une erreur s'est produite lors de l'ajout de votre entité !"))
return HTTPFound(location=request.route_url('edit_event', sep='/',
year=str(year), intervention=intervention, event_id=str(TargetEvent.uid)))
else:
@@ -1173,13 +1227,13 @@ def delete_tiers(request):
if TheTiers is None:
raise HTTPNotFound()
if len(TheTiers.membership)!=0:
request.session.flash(('error', u"Vous devez supprimer tous les membres liés avant la suppression d'une entitée."))
request.session.flash(('error', u"Vous devez supprimer tous les membres liés avant la suppression d'une entité."))
return HTTPFound(location=request.route_url('show_entity', entity_id=TheTiers.slug, tiers_type=TheTiers.get_entity_type.slug_entity_type))
if len(TheTiers.membership)!=0:
request.session.flash(('error', u"Vous devez supprimer tous les roles liés avant la suppression d'une entitée."))
request.session.flash(('error', u"Vous devez supprimer tous les roles liés avant la suppression d'une entité."))
return HTTPFound(location=request.route_url('show_entity', entity_id=TheTiers.slug, tiers_type=TheTiers.get_entity_type.slug_entity_type))
DBSession.delete(TheTiers)
request.session.flash(('info', u"L'entitée a bien été supprimée"))
request.session.flash(('info', u"L'entité a bien été supprimée"))
return HTTPFound(location=request.route_url('entities'))
else:
raise HTTPNotFound()


Loading…
Откажи
Сачувај