Merge branch 'master' into demo
This commit is contained in:
commit
35fedbd8ef
10 changed files with 37 additions and 44 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,4 +1,5 @@
|
|||
.pyc
|
||||
*.swp
|
||||
media/
|
||||
db.sqlite3
|
||||
Ernestophone/settings.py
|
||||
|
|
|
@ -13,10 +13,10 @@ import os
|
|||
|
||||
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
|
||||
|
||||
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
|
||||
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
||||
|
||||
MEDIA_URL = '/media/'
|
||||
|
||||
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
|
||||
STATIC_URL = '/static/'
|
||||
|
||||
# Quick-start development settings - unsuitable for production
|
||||
|
|
|
@ -5,6 +5,7 @@ from gestion.models import ErnestoUser
|
|||
class ModifEventForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Event
|
||||
exclude = ['slug']
|
||||
widgets = {
|
||||
'description': forms.Textarea(attrs={"placeholder":"facultatif, balises html supportées"}),
|
||||
'date': forms.TextInput(attrs={"placeholder": 'jj/mm/aaaa'}),
|
||||
|
@ -20,6 +21,7 @@ class EventForm(forms.ModelForm):
|
|||
message = forms.CharField(max_length=2000, widget=forms.Textarea(attrs={"placeholder":"Remplir ici pour remplacer le mail automatique"}), required=False)
|
||||
class Meta:
|
||||
model = Event
|
||||
exclude = ['slug']
|
||||
widgets = {
|
||||
'nomcourt': forms.TextInput(attrs={"placeholder": '9 caractères max'}),
|
||||
'description': forms.Textarea(attrs={"placeholder":"facultatif, balises html supportées"}),
|
||||
|
|
|
@ -31,7 +31,4 @@ class PartitionSet(models.Model):
|
|||
def __str__(self):
|
||||
return("%s - %s [%s]" % (self.nom, self.auteur,
|
||||
self.get_category_display()))
|
||||
|
||||
def get_category(self):
|
||||
return
|
||||
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
from django import template
|
||||
|
||||
register = template.Library()
|
||||
|
||||
@register.filter
|
||||
def cuturl(texte):
|
||||
tex = texte.split('/')
|
||||
n = len(tex)
|
||||
return tex[n-1]
|
|
@ -6,8 +6,8 @@ urlpatterns = patterns('partitions.views',
|
|||
url(r'^(?P<nom>[^/]+)/(?P<auteur>[^/]+)/upload/?$', 'upload'),
|
||||
url(r'^(?P<nom>[^/]+)/(?P<auteur>[^/]+)/delete/?$', 'delete_morc'),
|
||||
url(r'^(?P<nom>[^/]+)/(?P<auteur>[^/]+)/conf/?$', 'conf_delete_morc'),
|
||||
url(r'^(?P<nom>[^/]+)/(?P<auteur>[^/]+)/see/(?P<file_name>[^/]+)/?$', 'see'),
|
||||
url(r'^(?P<nom>[^/]+)/(?P<auteur>[^/]+)/(?P<file_name>[^/]+)/$', 'download'),
|
||||
url(r'^(?P<nom>[^/]+)/(?P<auteur>[^/]+)/see/(?P<partition_id>\d+)/?$', 'see'),
|
||||
url(r'^(?P<nom>[^/]+)/(?P<auteur>[^/]+)/(?P<partition_id>\d+)/$', 'download'),
|
||||
url(r'^(?P<nom>[^/]+)/(?P<auteur>[^/]+)/(?P<id>[^/]+)/delete/?$', 'delete'),
|
||||
url(r'^(?P<nom>[^/]+)/(?P<auteur>[^/]+)/(?P<id>[^/]+)/conf/?$', 'conf_delete'),
|
||||
url(r'^new/?$', 'ajouter_morceau'),
|
||||
|
|
|
@ -3,6 +3,7 @@ from django.shortcuts import render, redirect, HttpResponse, render_to_response,
|
|||
from django.contrib.auth.decorators import login_required
|
||||
from django.utils.encoding import smart_str
|
||||
from django.forms.models import modelform_factory
|
||||
from django.core.files import File
|
||||
|
||||
import os
|
||||
|
||||
|
@ -46,21 +47,24 @@ def upload(request, nom, auteur):
|
|||
return render(request, 'partitions/upload.html', locals())
|
||||
|
||||
@login_required
|
||||
def see(request, nom, auteur, file_name):
|
||||
if ".pdf" in file_name:
|
||||
abspath=open('/var/www_new/media/partitions/' + file_name, 'rb')
|
||||
response=HttpResponse(content=abspath.read())
|
||||
response["Content-Type"]="application/pdf"
|
||||
response["Content-Disposition"]="inline; filename= %s" % (nom +'-'+ auteur +'-' + smart_str(file_name))
|
||||
abspath.close()
|
||||
def see(request, nom, auteur, partition_id):
|
||||
partition = get_object_or_404(Partition, id=partition_id)
|
||||
_, extension = os.path.splitext(partition.part.path)
|
||||
if ".pdf" == extension:
|
||||
with open(partition.part.path, 'rb') as f:
|
||||
myfile = File(f)
|
||||
response = HttpResponse(content=myfile.read())
|
||||
response["Content-Type"] = "application/pdf"
|
||||
response["Content-Disposition"] = "inline; filename=%s-%s-%s" % (
|
||||
nom, auteur, smart_str(os.path.basename(myfile.name)))
|
||||
return response
|
||||
elif ".mp3" in file_name:
|
||||
abspath=open('/var/www_new/media/partitions/' + file_name, 'rb')
|
||||
response = HttpResponse()
|
||||
response.write(abspath.read())
|
||||
response["Content-Type"]="audio/mp3"
|
||||
response["Content-Length"]= os.path.getsize('/var/www_new/media/partitions/' + file_name)
|
||||
abspath.close()
|
||||
elif ".mp3" == extension:
|
||||
with open(partition.part.path, 'rb') as f:
|
||||
myfile = File(f)
|
||||
response = HttpResponse()
|
||||
response.write(myfile.read())
|
||||
response["Content-Type"] = "audio/mp3"
|
||||
response["Content-Length"] = myfile.size
|
||||
return response
|
||||
else:
|
||||
partitions = PartitionSet.objects.get(nom=nom, auteur=auteur)
|
||||
|
@ -68,15 +72,15 @@ def see(request, nom, auteur, file_name):
|
|||
return render(request, 'partitions/listepart.html', locals())
|
||||
|
||||
@login_required
|
||||
def download(request, nom, auteur, file_name):
|
||||
abspath=open('/var/www_new/media/partitions/' + file_name, 'rb')
|
||||
response = HttpResponse(content=abspath.read())
|
||||
typ = file_name.split(".")
|
||||
n = len(typ)
|
||||
typ = typ[n-1]
|
||||
response['Content-Type'] = 'application/' + typ
|
||||
response['Content-Disposition'] = 'attachment; filename= %s ' % (nom +'-'+ auteur + '-' + smart_str(file_name))
|
||||
abspath.close()
|
||||
def download(request, nom, auteur, partition_id):
|
||||
partition = get_object_or_404(Partition, id=partition_id)
|
||||
with open(partition.part.path, 'rb') as f:
|
||||
myfile = File(f)
|
||||
response = HttpResponse(content=myfile.read())
|
||||
typ = os.path.splitext(myfile.name)[1][1:]
|
||||
response['Content-Type'] = 'application/%s' % (typ, )
|
||||
response['Content-Disposition'] = 'attachment; filename=%s-%s-%s' % (
|
||||
nom, auteur, smart_str(os.path.basename(myfile.name)))
|
||||
return response
|
||||
|
||||
@login_required
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{% load static %}
|
||||
{% load urls_extra %}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{% extends "base.html" %}
|
||||
{% load urls_extra %}
|
||||
|
||||
{% block titre %}{{ p }}{% endblock %}
|
||||
|
||||
|
@ -30,15 +29,15 @@
|
|||
<ul class="filelist">
|
||||
{% for p in part %}
|
||||
{% if user.is_authenticated and ".pdf" in p.part.url %}
|
||||
<li><a href="{% url "partitions.views.see" nom auteur p.part.url|cuturl %}" class="fichier">{{ p.nom }}</a>
|
||||
<li><a href="{% url "partitions.views.see" nom auteur p.id %}" class="fichier">{{ p.nom }}</a>
|
||||
{% elif user.is_authenticated and ".mp3" in p.part.url %}
|
||||
<li><a href="{% url "partitions.views.see" nom auteur p.part.url|cuturl %}" class="fichier">{{ p.nom }}</a>
|
||||
<li><a href="{% url "partitions.views.see" nom auteur p.id %}" class="fichier">{{ p.nom }}</a>
|
||||
{% else %}
|
||||
<li>{{ p.nom }}
|
||||
{% endif %}
|
||||
|
||||
{% if user.is_authenticated %}
|
||||
<a href="{% url "partitions.views.download" nom auteur p.part.url|cuturl %}" class="telecharger">Télécharger</a>
|
||||
<a href="{% url "partitions.views.download" nom auteur p.id %}" class="telecharger">Télécharger</a>
|
||||
{% endif %}
|
||||
|
||||
{% if user.profile.is_chef %}
|
||||
|
|
Loading…
Reference in a new issue