mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-22 14:13:21 +00:00
improved UX
This commit is contained in:
parent
ecb48ce663
commit
20c015c312
@ -10,12 +10,7 @@
|
|||||||
{% trans %}SAS{% endtrans %}
|
{% trans %}SAS{% endtrans %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% macro print_path(file) %}
|
{% from "sas/macros.jinja" import display_album, print_path %}
|
||||||
{% if file and file.parent %}
|
|
||||||
{{ print_path(file.parent) }}
|
|
||||||
<a href="{{ url('sas:album', album_id=file.id) }}">{{ file.get_display_name() }}</a> /
|
|
||||||
{% endif %}
|
|
||||||
{% endmacro %}
|
|
||||||
|
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
@ -23,10 +18,10 @@
|
|||||||
<a href="{{ url('sas:main') }}">SAS</a> / {{ print_path(album.parent) }} {{ album.get_display_name() }}
|
<a href="{{ url('sas:main') }}">SAS</a> / {{ print_path(album.parent) }} {{ album.get_display_name() }}
|
||||||
</code>
|
</code>
|
||||||
|
|
||||||
{% set edit_mode = user.can_edit(album) %}
|
{% set is_sas_admin = user.can_edit(album) %}
|
||||||
{% set start = timezone.now() %}
|
{% set start = timezone.now() %}
|
||||||
|
|
||||||
{% if edit_mode %}
|
{% if is_sas_admin %}
|
||||||
<form action="" method="post" enctype="multipart/form-data">
|
<form action="" method="post" enctype="multipart/form-data">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
|
|
||||||
@ -54,28 +49,11 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if album.children_albums.count() > 0 %}
|
{% if children_albums|length > 0 %}
|
||||||
<h4>{% trans %}Albums{% endtrans %}</h4>
|
<h4>{% trans %}Albums{% endtrans %}</h4>
|
||||||
<div class="albums">
|
<div class="albums">
|
||||||
{% for a in album.children_albums.order_by('-date') %}
|
{% for a in children_albums %}
|
||||||
{% if a.can_be_viewed_by(user) %}
|
{{ display_album(a, is_sas_admin) }}
|
||||||
<a href="{{ url('sas:album', album_id=a.id) }}">
|
|
||||||
<div
|
|
||||||
class="album{% if not a.is_moderated %} not_moderated{% endif %}"
|
|
||||||
style="background-image: url('{% if a.file %}{{ a.get_download_url() }}{% else %}{{ static('core/img/sas.jpg') }}{% endif %}');"
|
|
||||||
>
|
|
||||||
{% if not a.is_moderated %}
|
|
||||||
<div class="overlay"> </div>
|
|
||||||
<div class="text">{% trans %}To be moderated{% endtrans %}</div>
|
|
||||||
{% else %}
|
|
||||||
<div class="text">{{ a.name }}</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
{% if edit_mode %}
|
|
||||||
<input type="checkbox" name="file_list" value="{{ a.id }}">
|
|
||||||
{% endif %}
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -96,7 +74,7 @@
|
|||||||
<div class="text"> </div>
|
<div class="text"> </div>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
{% if edit_mode %}
|
{% if is_sas_admin %}
|
||||||
<input type="checkbox" name="file_list" :value="picture.id">
|
<input type="checkbox" name="file_list" :value="picture.id">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</a>
|
</a>
|
||||||
@ -115,7 +93,7 @@
|
|||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if edit_mode %}
|
{% if is_sas_admin %}
|
||||||
</form>
|
</form>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
32
sas/templates/sas/macros.jinja
Normal file
32
sas/templates/sas/macros.jinja
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{% macro display_album(a, edit_mode) %}
|
||||||
|
<a href="{{ url('sas:album', album_id=a.id) }}">
|
||||||
|
{% if a.file %}
|
||||||
|
{% set img = a.get_download_url() %}
|
||||||
|
{% elif a.children.filter(is_folder=False, is_moderated=True).exists() %}
|
||||||
|
{% set img = a.children.filter(is_folder=False).first().as_picture.get_download_thumb_url() %}
|
||||||
|
{% else %}
|
||||||
|
{% set img = static('core/img/sas.jpg') %}
|
||||||
|
{% endif %}
|
||||||
|
<div
|
||||||
|
class="album{% if not a.is_moderated %} not_moderated{% endif %}"
|
||||||
|
style="background-image: url('{{ img }}');"
|
||||||
|
>
|
||||||
|
{% if not a.is_moderated %}
|
||||||
|
<div class="overlay"> </div>
|
||||||
|
<div class="text">{% trans %}To be moderated{% endtrans %}</div>
|
||||||
|
{% else %}
|
||||||
|
<div class="text">{{ a.name }}</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% if edit_mode %}
|
||||||
|
<input type="checkbox" name="file_list" value="{{ a.id }}">
|
||||||
|
{% endif %}
|
||||||
|
</a>
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
|
{% macro print_path(file) %}
|
||||||
|
{% if file and file.parent %}
|
||||||
|
{{ print_path(file.parent) }}
|
||||||
|
<a href="{{ url('sas:album', album_id=file.id) }}">{{ file.get_display_name() }}</a> /
|
||||||
|
{% endif %}
|
||||||
|
{% endmacro %}
|
@ -8,31 +8,9 @@
|
|||||||
{% trans %}SAS{% endtrans %}
|
{% trans %}SAS{% endtrans %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% set edit_mode = user.is_in_group(pk=settings.SITH_GROUP_SAS_ADMIN_ID) %}
|
{% set is_sas_admin = user.is_root or user.is_in_group(pk=settings.SITH_GROUP_SAS_ADMIN_ID) %}
|
||||||
|
|
||||||
{% macro display_album(a, checkbox) %}
|
{% from "sas/macros.jinja" import display_album %}
|
||||||
<a href="{{ url('sas:album', album_id=a.id) }}">
|
|
||||||
{% if a.file %}
|
|
||||||
{% set img = a.get_download_url() %}
|
|
||||||
{% elif a.children.filter(is_folder=False, is_moderated=True).exists() %}
|
|
||||||
{% set img = a.children.filter(is_folder=False).first().as_picture.get_download_thumb_url() %}
|
|
||||||
{% else %}
|
|
||||||
{% set img = static('core/img/sas.jpg') %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div
|
|
||||||
class="album"
|
|
||||||
style="background-image: url('{{ img }}');"
|
|
||||||
>
|
|
||||||
<div class="text">
|
|
||||||
{{ a.name }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{# {% if edit_mode and checkbox %}
|
|
||||||
<input type="checkbox" name="file_list" value="{{ a.id }}">
|
|
||||||
{% endif %} #}
|
|
||||||
</a>
|
|
||||||
{% endmacro %}
|
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<main>
|
<main>
|
||||||
@ -46,22 +24,18 @@
|
|||||||
|
|
||||||
<div class="albums">
|
<div class="albums">
|
||||||
{% for a in latest %}
|
{% for a in latest %}
|
||||||
{{ display_album(a) }}
|
{{ display_album(a, edit_mode=False) }}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
{% if edit_mode %}
|
{% if is_sas_admin %}
|
||||||
<form action="" method="post" enctype="multipart/form-data">
|
<form action="" method="post" enctype="multipart/form-data">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
|
|
||||||
<div class="navbar">
|
<div class="navbar">
|
||||||
<h4>{% trans %}All categories{% endtrans %}</h4>
|
<h4>{% trans %}All categories{% endtrans %}</h4>
|
||||||
|
|
||||||
{# <div class="toolbar">
|
|
||||||
<input name="delete" type="submit" value="{% trans %}Delete{% endtrans %}">
|
|
||||||
</div> #}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if clipboard %}
|
{% if clipboard %}
|
||||||
@ -81,11 +55,11 @@
|
|||||||
|
|
||||||
<div class="albums">
|
<div class="albums">
|
||||||
{% for a in categories %}
|
{% for a in categories %}
|
||||||
{{ display_album(a, true) }}
|
{{ display_album(a, edit_mode=False) }}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if edit_mode %}
|
{% if is_sas_admin %}
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
@ -8,12 +8,7 @@
|
|||||||
{% trans %}SAS{% endtrans %}
|
{% trans %}SAS{% endtrans %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% macro print_path(file) %}
|
{% from "sas/macros.jinja" import print_path %}
|
||||||
{% if file and file.parent %}
|
|
||||||
{{ print_path(file.parent) }}
|
|
||||||
<a href="{{ url('sas:album', album_id=file.id) }}">{{ file.get_display_name() }}</a> /
|
|
||||||
{% endif %}
|
|
||||||
{% endmacro %}
|
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<code>
|
<code>
|
||||||
@ -125,11 +120,13 @@
|
|||||||
|
|
||||||
<div class="tags">
|
<div class="tags">
|
||||||
<h5>{% trans %}People{% endtrans %}</h5>
|
<h5>{% trans %}People{% endtrans %}</h5>
|
||||||
|
{% if user.was_subscribed %}
|
||||||
<form action="" method="post" enctype="multipart/form-data">
|
<form action="" method="post" enctype="multipart/form-data">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{{ form.as_p() }}
|
{{ form.as_p() }}
|
||||||
<input type="submit" value="{% trans %}Go{% endtrans %}" />
|
<input type="submit" value="{% trans %}Go{% endtrans %}" />
|
||||||
</form>
|
</form>
|
||||||
|
{% endif %}
|
||||||
<ul x-data="user_identification">
|
<ul x-data="user_identification">
|
||||||
<template x-for="item in items" :key="item.id">
|
<template x-for="item in items" :key="item.id">
|
||||||
<li>
|
<li>
|
||||||
|
10
sas/views.py
10
sas/views.py
@ -229,8 +229,9 @@ class AlbumUploadView(CanViewMixin, DetailView, FormMixin):
|
|||||||
parent=parent,
|
parent=parent,
|
||||||
owner=request.user,
|
owner=request.user,
|
||||||
files=files,
|
files=files,
|
||||||
automodere=request.user.is_in_group(
|
automodere=(
|
||||||
pk=settings.SITH_GROUP_SAS_ADMIN_ID
|
request.user.is_in_group(pk=settings.SITH_GROUP_SAS_ADMIN_ID)
|
||||||
|
or request.user.is_root
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
if self.form.is_valid():
|
if self.form.is_valid():
|
||||||
@ -293,6 +294,11 @@ class AlbumView(CanViewMixin, DetailView, FormMixin):
|
|||||||
kwargs["clipboard"] = SithFile.objects.filter(
|
kwargs["clipboard"] = SithFile.objects.filter(
|
||||||
id__in=self.request.session["clipboard"]
|
id__in=self.request.session["clipboard"]
|
||||||
)
|
)
|
||||||
|
kwargs["children_albums"] = list(
|
||||||
|
Album.objects.viewable_by(self.request.user)
|
||||||
|
.filter(parent_id=self.object.id)
|
||||||
|
.order_by("-date")
|
||||||
|
)
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user