show in-collection section for entities

This commit is contained in:
Their Name 2021-12-27 16:31:26 -05:00
parent 447922a336
commit 34ce5b9fa3
14 changed files with 94 additions and 8 deletions

View file

@ -312,6 +312,21 @@
</div>
</div>
{% endif %}
{% if collection_list %}
<div class="aside-section-wrapper">
<div class="action-panel">
<div class="action-panel__label">{% trans '相关收藏单' %}</div>
<div >
{% for c in collection_list %}
<p>
<a href="{% url 'collection:retrieve' c.id %}">{{ c.title }}</a>
</p>
{% endfor %}
</div>
</div>
</div>
{% endif %}
</div>
</div>
</section>

View file

@ -19,6 +19,7 @@ from .models import *
from .forms import *
from .forms import BookMarkStatusTranslator
from django.conf import settings
from collection.models import CollectionItem
logger = logging.getLogger(__name__)
@ -194,6 +195,7 @@ def retrieve(request, id):
review_list_more = True if len(
review_list) > REVIEW_NUMBER else False
review_list = review_list[:REVIEW_NUMBER]
collection_list = filter(lambda c: c.is_visible_to(request.user), map(lambda i: i.collection, CollectionItem.objects.filter(book=book)))
# def strip_html_tags(text):
# import re
@ -218,6 +220,7 @@ def retrieve(request, id):
'review_list_more': review_list_more,
'book_tag_list': book_tag_list,
'mark_tags': mark_tags,
'collection_list': collection_list,
}
)
else:

View file

@ -1,5 +1,4 @@
from django import forms
from django.contrib.postgres.forms import SimpleArrayField
from django.utils.translation import gettext_lazy as _
from .models import Collection
from common.forms import *
@ -9,8 +8,7 @@ class CollectionForm(forms.ModelForm):
# id = forms.IntegerField(required=False, widget=forms.HiddenInput())
title = forms.CharField(label=_("标题"))
description = MarkdownxFormField(label=_("详细介绍 (Markdown)"))
share_to_mastodon = forms.BooleanField(
label=_("分享到联邦网络"), initial=True, required=False)
# share_to_mastodon = forms.BooleanField(label=_("分享到联邦网络"), initial=True, required=False)
visibility = forms.TypedChoiceField(
label=_("可见性"),
initial=0,

View file

@ -41,7 +41,6 @@ class Collection(UserOwnedEntity):
return None
else:
i = CollectionItem(collection=self, position=cl[-1].position + 1 if len(cl) else 1, comment=comment)
print(i)
i.set_item(item)
i.save()
return i

View file

@ -13,6 +13,9 @@
<title>{{ site_name }} - {{ title }}</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<link rel="stylesheet" href="{% static 'css/boofilsic.min.css' %}">
<style type="text/css">
#id_visibility li {display: inline-block !important;}
</style>
</head>
<body>

View file

@ -24,6 +24,7 @@
{% endif %}
<div class="entity-list__entity-title">
<a href="{{ item.item.get_absolute_url }}" style="font-size:16px">{{ item.item.title }}</a>
<span class="entity-list__entity-category">[{{item.item.verbose_category_name}}]</span>
<a href="{{ item.item.source_url }}">
<span class="source-label source-label__{{ item.item.source_site }}">{{ item.item.get_source_site_display }}</span>
</a>

View file

@ -316,6 +316,21 @@
{% endif %}
</div>
{% if collection_list %}
<div class="aside-section-wrapper">
<div class="action-panel">
<div class="action-panel__label">{% trans '相关收藏单' %}</div>
<div >
{% for c in collection_list %}
<p>
<a href="{% url 'collection:retrieve' c.id %}">{{ c.title }}</a>
</p>
{% endfor %}
</div>
</div>
</div>
{% endif %}
</div>
</div>

View file

@ -18,6 +18,7 @@ from common.models import SourceSiteEnum
from .models import *
from .forms import *
from django.conf import settings
from collection.models import CollectionItem
logger = logging.getLogger(__name__)
@ -196,6 +197,7 @@ def retrieve(request, id):
review_list_more = True if len(
review_list) > REVIEW_NUMBER else False
review_list = review_list[:REVIEW_NUMBER]
collection_list = filter(lambda c: c.is_visible_to(request.user), map(lambda i: i.collection, CollectionItem.objects.filter(movie=movie)))
# def strip_html_tags(text):
# import re
@ -220,6 +222,7 @@ def retrieve(request, id):
'review_list_more': review_list_more,
'game_tag_list': game_tag_list,
'mark_tags': mark_tags,
'collection_list': collection_list,
}
)
else:

View file

@ -76,7 +76,6 @@ def post_toot(site, content, visibility, token, local_only=False):
}
if not local_only:
del payload['local_only']
print(payload)
response = post(url, headers=headers, data=payload)
return response
@ -105,7 +104,6 @@ def create_app(domain_name):
}
response = post(url, data=payload, headers={'User-Agent': 'NeoDB/1.0'})
print(payload)
return response

View file

@ -41,7 +41,6 @@
<script src="{% static 'js/detail.js' %}"></script>
<link rel="stylesheet" href="{% static 'css/boofilsic.css' %}">
<link rel="stylesheet" href="{% static 'lib/css/rating-star.css' %}">
</head>
<body>
@ -395,7 +394,7 @@
{% endif %}
</div>
{% if movie.get_related_movies.count > 0 %}
<div class="aside-section-wrapper">
<div class="action-panel">
@ -414,6 +413,20 @@
</div>
{% endif %}
{% if collection_list %}
<div class="aside-section-wrapper">
<div class="action-panel">
<div class="action-panel__label">{% trans '相关收藏单' %}</div>
<div >
{% for c in collection_list %}
<p>
<a href="{% url 'collection:retrieve' c.id %}">{{ c.title }}</a>
</p>
{% endfor %}
</div>
</div>
</div>
{% endif %}
</div>
</div>
</section>

View file

@ -18,6 +18,7 @@ from common.models import SourceSiteEnum
from .models import *
from .forms import *
from django.conf import settings
from collection.models import CollectionItem
logger = logging.getLogger(__name__)
@ -195,6 +196,7 @@ def retrieve(request, id):
review_list_more = True if len(
review_list) > REVIEW_NUMBER else False
review_list = review_list[:REVIEW_NUMBER]
collection_list = filter(lambda c: c.is_visible_to(request.user), map(lambda i: i.collection, CollectionItem.objects.filter(movie=movie)))
# def strip_html_tags(text):
# import re
@ -219,6 +221,7 @@ def retrieve(request, id):
'review_list_more': review_list_more,
'movie_tag_list': movie_tag_list,
'mark_tags': mark_tags,
'collection_list': collection_list,
}
)
else:

View file

@ -350,6 +350,21 @@
{% endif %}
</div>
{% if collection_list %}
<div class="aside-section-wrapper">
<div class="action-panel">
<div class="action-panel__label">{% trans '相关收藏单' %}</div>
<div >
{% for c in collection_list %}
<p>
<a href="{% url 'collection:retrieve' c.id %}">{{ c.title }}</a>
</p>
{% endfor %}
</div>
</div>
</div>
{% endif %}
{% if album.get_embed_link %}
<iframe src="{{ album.get_embed_link }}" height="320" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>

View file

@ -297,6 +297,21 @@
{% endif %}
</div>
{% if collection_list %}
<div class="aside-section-wrapper">
<div class="action-panel">
<div class="action-panel__label">{% trans '相关收藏单' %}</div>
<div >
{% for c in collection_list %}
<p>
<a href="{% url 'collection:retrieve' c.id %}">{{ c.title }}</a>
</p>
{% endfor %}
</div>
</div>
</div>
{% endif %}
{% if song.source_site == "spotify" %}
<iframe src="{{ song.get_embed_link }}" height="80" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
{% endif %}

View file

@ -18,6 +18,7 @@ from django.contrib.auth.decorators import login_required, permission_required
from django.shortcuts import render, get_object_or_404, redirect, reverse
import logging
from django.shortcuts import render
from collection.models import CollectionItem
logger = logging.getLogger(__name__)
@ -214,6 +215,7 @@ def retrieve_song(request, id):
review_list_more = True if len(
review_list) > REVIEW_NUMBER else False
review_list = review_list[:REVIEW_NUMBER]
collection_list = filter(lambda c: c.is_visible_to(request.user), map(lambda i: i.collection, CollectionItem.objects.filter(song=song)))
# def strip_html_tags(text):
# import re
@ -238,6 +240,7 @@ def retrieve_song(request, id):
'review_list_more': review_list_more,
'song_tag_list': song_tag_list,
'mark_tags': mark_tags,
'collection_list': collection_list,
}
)
else:
@ -787,6 +790,7 @@ def retrieve_album(request, id):
review_list_more = True if len(
review_list) > REVIEW_NUMBER else False
review_list = review_list[:REVIEW_NUMBER]
collection_list = filter(lambda c: c.is_visible_to(request.user), map(lambda i: i.collection, CollectionItem.objects.filter(album=album)))
# def strip_html_tags(text):
# import re
@ -811,6 +815,7 @@ def retrieve_album(request, id):
'review_list_more': review_list_more,
'album_tag_list': album_tag_list,
'mark_tags': mark_tags,
'collection_list': collection_list,
}
)
else: