mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-09 19:40:19 +00:00
Lot of small improvement in SAS
This commit is contained in:
@ -4,5 +4,7 @@ from sas.models import *
|
||||
|
||||
|
||||
admin.site.register(Album)
|
||||
admin.site.register(Picture)
|
||||
# admin.site.register(Picture)
|
||||
admin.site.register(PeoplePictureRelation)
|
||||
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
from django.db import models
|
||||
from django.core.urlresolvers import reverse_lazy, reverse
|
||||
from django.conf import settings
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
@ -36,6 +37,9 @@ class Picture(SithFile):
|
||||
def get_download_thumb_url(self):
|
||||
return reverse('sas:download_thumb', kwargs={'picture_id': self.id})
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse('sas:picture', kwargs={'picture_id': self.id})
|
||||
|
||||
def generate_thumbnails(self):
|
||||
im = Image.open(BytesIO(self.file.read()))
|
||||
try:
|
||||
@ -94,3 +98,6 @@ class PeoplePictureRelation(models.Model):
|
||||
|
||||
class Meta:
|
||||
unique_together = ['user', 'picture']
|
||||
|
||||
def __str__(self):
|
||||
return self.user.get_display_name() + " - " + str(self.picture)
|
||||
|
@ -15,6 +15,7 @@
|
||||
{% block content %}
|
||||
<a href="{{ url('sas:main') }}">SAS</a> > {{ print_path(album.parent) }} {{ album.get_display_name() }}
|
||||
<h3>{{ album.get_display_name() }}</h3>
|
||||
<a href="{{ url('sas:album_edit', album_id=album.id) }}">{% trans %}Edit{% endtrans %}</a><br>
|
||||
<hr>
|
||||
<div>
|
||||
{% for a in album.children.filter(is_folder=True, is_moderated=True).all() %}
|
||||
@ -33,7 +34,7 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div>
|
||||
{% for p in album.children.filter(is_folder=False, is_moderated=True).all() %}
|
||||
{% for p in album.children.filter(is_folder=False, is_moderated=True).order_by('id') %}
|
||||
{% if p.as_picture.can_be_viewed_by(user) %}
|
||||
<div class="picture">
|
||||
<a href="{{ url("sas:picture", picture_id=p.id) }}#pict">
|
||||
|
@ -35,7 +35,8 @@
|
||||
|
||||
{% block content %}
|
||||
<a href="{{ url('sas:main') }}">SAS</a> > {{ print_path(picture.parent) }} {{ picture.get_display_name() }}
|
||||
<h3>{{ picture.get_display_name() }}</h3>
|
||||
({{ picture.parent.children.filter(id__lte=picture.id).count() }} / {{ picture.parent.children.count() }})
|
||||
<h3> {{ picture.get_display_name() }}</h3>
|
||||
<div style="display: inline-block; width: 19%; vertical-align: top; overflow: hidden; float: right">
|
||||
<div>
|
||||
<div id="prev">
|
||||
@ -60,7 +61,7 @@
|
||||
<ul>
|
||||
{% for r in picture.people.all() %}
|
||||
<li>
|
||||
<a href="{{ r.user.get_absolute_url() }}">{{ r.user.get_display_name() }}</a>
|
||||
<a href="{{ r.user.get_absolute_url() }}">{{ r.user.get_short_name() }}</a>
|
||||
{% if user == r.user or user.is_in_group(settings.SITH_SAS_ADMIN_GROUP_ID) %}
|
||||
<a href="?remove_user={{ r.user.id }}">{% trans %}Delete{% endtrans %}</a>
|
||||
{% endif %}
|
||||
@ -73,12 +74,18 @@
|
||||
<p><input type="submit" value="{% trans %}Go{% endtrans %}" /></p>
|
||||
</form>
|
||||
</div>
|
||||
<div>
|
||||
<h5>{% trans %}Infos{% endtrans %}</h5>
|
||||
<p>{% trans %}Date: {% endtrans %}{{ picture.date|date(DATETIME_FORMAT) }}</p>
|
||||
<p>{{ picture.parent.children.filter(id__lte=picture.id).count() }} / {{ picture.parent.children.count() }}</p>
|
||||
</div>
|
||||
<div>
|
||||
<h5>{% trans %}Tools{% endtrans %}</h5>
|
||||
<p>
|
||||
<a href="{{ picture.get_download_url() }}">{% trans %}HD version{% endtrans %}</a>
|
||||
</p>
|
||||
<p style="font-size: smaller;">
|
||||
<a href="{{ url('sas:picture_edit', picture_id=picture.id) }}">{% trans %}Edit{% endtrans %}</a><br>
|
||||
<a href="?rotate_left">{% trans %}Rotate left{% endtrans %}</a><br>
|
||||
<a href="?rotate_right">{% trans %}Rotate right{% endtrans %}</a><br>
|
||||
<a href="?ask_removal">{% trans %}Ask for removal{% endtrans %}</a><br>
|
||||
|
@ -6,7 +6,9 @@ urlpatterns = [
|
||||
url(r'^$', SASMainView.as_view(), name='main'),
|
||||
url(r'^moderation$', ModerationView.as_view(), name='moderation'),
|
||||
url(r'^album/(?P<album_id>[0-9]+)$', AlbumView.as_view(), name='album'),
|
||||
url(r'^album/(?P<album_id>[0-9]+)/edit$', AlbumEditView.as_view(), name='album_edit'),
|
||||
url(r'^picture/(?P<picture_id>[0-9]+)$', PictureView.as_view(), name='picture'),
|
||||
url(r'^picture/(?P<picture_id>[0-9]+)/edit$', PictureEditView.as_view(), name='picture_edit'),
|
||||
url(r'^picture/(?P<picture_id>[0-9]+)/download$', send_pict, name='download'),
|
||||
url(r'^picture/(?P<picture_id>[0-9]+)/download/compressed$', send_compressed, name='download_compressed'),
|
||||
url(r'^picture/(?P<picture_id>[0-9]+)/download/thumb$', send_thumb, name='download_thumb'),
|
||||
|
24
sas/views.py
24
sas/views.py
@ -5,6 +5,7 @@ from django.views.generic.edit import UpdateView, CreateView, DeleteView, Proces
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.utils import timezone
|
||||
from django.conf import settings
|
||||
from django.forms.models import modelform_factory
|
||||
from django import forms
|
||||
from django.core.exceptions import PermissionDenied
|
||||
|
||||
@ -192,4 +193,27 @@ class ModerationView(TemplateView):
|
||||
kwargs['pictures'] = Picture.objects.filter(is_moderated=False, is_in_sas=True).order_by('id')
|
||||
return kwargs
|
||||
|
||||
class PictureEditForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Picture
|
||||
fields=['name', 'parent']
|
||||
parent = make_ajax_field(Picture, 'parent', 'files', help_text="")
|
||||
|
||||
class AlbumEditForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Album
|
||||
fields=['name', 'parent']
|
||||
parent = make_ajax_field(Album, 'parent', 'files', help_text="")
|
||||
|
||||
class PictureEditView(UpdateView):
|
||||
model=Picture
|
||||
form_class=PictureEditForm
|
||||
template_name='core/edit.jinja'
|
||||
pk_url_kwarg = "picture_id"
|
||||
|
||||
class AlbumEditView(UpdateView):
|
||||
model=Album
|
||||
form_class=AlbumEditForm
|
||||
template_name='core/edit.jinja'
|
||||
pk_url_kwarg = "album_id"
|
||||
|
||||
|
Reference in New Issue
Block a user