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:
@ -1,4 +1,5 @@
|
||||
from django.contrib import admin
|
||||
from ajax_select import make_ajax_form
|
||||
from core.models import User, Page, RealGroup, SithFile
|
||||
from django.contrib.auth.models import Group as AuthGroup
|
||||
|
||||
@ -7,5 +8,9 @@ admin.site.register(User)
|
||||
admin.site.unregister(AuthGroup)
|
||||
admin.site.register(RealGroup)
|
||||
admin.site.register(Page)
|
||||
admin.site.register(SithFile)
|
||||
|
||||
@admin.register(SithFile)
|
||||
class SithFileAdmin(admin.ModelAdmin):
|
||||
form = make_ajax_form(SithFile, {
|
||||
'parent': 'files', # ManyToManyField
|
||||
})
|
||||
|
@ -2,7 +2,7 @@ from django.core.exceptions import PermissionDenied
|
||||
from ajax_select import register, LookupChannel
|
||||
|
||||
from core.views.site import search_user
|
||||
from core.models import User, Group
|
||||
from core.models import User, Group, SithFile
|
||||
from club.models import Club
|
||||
from counter.models import Product, Counter
|
||||
from accounting.models import ClubAccount, Company
|
||||
@ -77,6 +77,13 @@ class ProductsLookup(RightManagedLookupChannel):
|
||||
def format_item_display(self, item):
|
||||
return "%s (%s)" % (item.name, item.code)
|
||||
|
||||
@register('files')
|
||||
class SithFileLookup(RightManagedLookupChannel):
|
||||
model = SithFile
|
||||
|
||||
def get_query(self, q, request):
|
||||
return self.model.objects.filter(name__icontains=q)[:50]
|
||||
|
||||
@register('club_accounts')
|
||||
class ClubAccountLookup(RightManagedLookupChannel):
|
||||
model = ClubAccount
|
||||
|
36
core/migrations/0011_auto_20161124_0848.py
Normal file
36
core/migrations/0011_auto_20161124_0848.py
Normal file
@ -0,0 +1,36 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.utils.timezone
|
||||
import core.models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('core', '0010_sithfile_is_in_sas'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='sithfile',
|
||||
name='compressed',
|
||||
field=models.FileField(verbose_name='compressed file', upload_to=core.models.get_compressed_directory, null=True, blank=True, max_length=256),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='sithfile',
|
||||
name='date',
|
||||
field=models.DateTimeField(verbose_name='date', default=django.utils.timezone.now),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='sithfile',
|
||||
name='file',
|
||||
field=models.FileField(verbose_name='file', upload_to=core.models.get_directory, null=True, blank=True, max_length=256),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='sithfile',
|
||||
name='thumbnail',
|
||||
field=models.FileField(verbose_name='thumbnail', upload_to=core.models.get_thumbnail_directory, null=True, blank=True, max_length=256),
|
||||
),
|
||||
]
|
@ -317,7 +317,9 @@ class User(AbstractBaseUser):
|
||||
|
||||
def get_short_name(self):
|
||||
"Returns the short name for the user."
|
||||
return self.first_name
|
||||
if self.nick_name:
|
||||
return self.nick_name
|
||||
return self.first_name + " " + self.last_name
|
||||
|
||||
def get_display_name(self):
|
||||
"""
|
||||
@ -501,16 +503,16 @@ def get_thumbnail_directory(instance, filename):
|
||||
class SithFile(models.Model):
|
||||
name = models.CharField(_('file name'), max_length=256, blank=False)
|
||||
parent = models.ForeignKey('self', related_name="children", verbose_name=_("parent"), null=True, blank=True)
|
||||
file = models.FileField(upload_to=get_directory, verbose_name=_("file"), null=True, blank=True)
|
||||
compressed = models.FileField(upload_to=get_compressed_directory, verbose_name=_("compressed file"), null=True, blank=True)
|
||||
thumbnail = models.FileField(upload_to=get_thumbnail_directory, verbose_name=_("thumbnail"), null=True, blank=True)
|
||||
file = models.FileField(upload_to=get_directory, verbose_name=_("file"), max_length=256, null=True, blank=True)
|
||||
compressed = models.FileField(upload_to=get_compressed_directory, verbose_name=_("compressed file"), max_length=256, null=True, blank=True)
|
||||
thumbnail = models.FileField(upload_to=get_thumbnail_directory, verbose_name=_("thumbnail"), max_length=256, null=True, blank=True)
|
||||
owner = models.ForeignKey(User, related_name="owned_files", verbose_name=_("owner"))
|
||||
edit_groups = models.ManyToManyField(Group, related_name="editable_files", verbose_name=_("edit group"), blank=True)
|
||||
view_groups = models.ManyToManyField(Group, related_name="viewable_files", verbose_name=_("view group"), blank=True)
|
||||
is_folder = models.BooleanField(_("is folder"), default=True)
|
||||
mime_type = models.CharField(_('mime type'), max_length=30)
|
||||
size = models.IntegerField(_("size"), default=0)
|
||||
date = models.DateTimeField(_('date'), auto_now=True)
|
||||
date = models.DateTimeField(_('date'), default=timezone.now)
|
||||
is_moderated = models.BooleanField(_("is moderated"), default=False)
|
||||
asked_for_removal = models.BooleanField(_("asked for removal"), default=False)
|
||||
is_in_sas = models.BooleanField(_("is in the SAS"), default=False)
|
||||
@ -629,6 +631,9 @@ class SithFile(models.Model):
|
||||
def get_download_url(self):
|
||||
return reverse('core:download', kwargs={'file_id': self.id})
|
||||
|
||||
def __str__(self):
|
||||
return self.get_parent_path() + "/" + self.name
|
||||
|
||||
class LockError(Exception):
|
||||
"""There was a lock error on the object"""
|
||||
pass
|
||||
|
@ -314,10 +314,11 @@ textarea {
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
width: 200px;
|
||||
height: 133px;
|
||||
height: 140px;
|
||||
background: #eee;
|
||||
box-shadow: black 2px 2px 10px;
|
||||
margin: 10px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.album img {
|
||||
|
@ -6,12 +6,12 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% for r in user.pictures.exclude(picture=None).values('user__pictures__picture__parent').distinct() %}
|
||||
{% for r in profile.pictures.exclude(picture=None).values('user__pictures__picture__parent').distinct() %}
|
||||
<div style="padding: 10px">
|
||||
{% set album = user.pictures.filter(picture__parent=r['user__pictures__picture__parent']).first().picture.parent %}
|
||||
{% set album = profile.pictures.filter(picture__parent=r['user__pictures__picture__parent']).first().picture.parent %}
|
||||
<h4>{{ album.name }}</h4>
|
||||
<hr>
|
||||
{% for r in user.pictures.exclude(picture=None).filter(picture__parent=album) %}
|
||||
{% for r in profile.pictures.exclude(picture=None).filter(picture__parent=album).order_by('id') %}
|
||||
<div class="picture">
|
||||
<a href="{{ url("sas:picture", picture_id=r.picture.id) }}#pict">
|
||||
<img src="{{ r.picture.as_picture.get_download_thumb_url() }}" alt="{{ r.picture.get_display_name() }}" style="max-width: 100%"/>
|
||||
|
Reference in New Issue
Block a user