Merge pull request #2555 from jaschaurbach/author_website

Add Website field to author
This commit is contained in:
Mouse Reeve 2023-01-09 20:14:14 -08:00 committed by GitHub
commit bdd32c5628
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 54 additions and 3 deletions

View file

@ -92,3 +92,4 @@ class Author(BookData):
bio: str = "" bio: str = ""
wikipediaLink: str = "" wikipediaLink: str = ""
type: str = "Author" type: str = "Author"
website: str = ""

View file

@ -15,6 +15,7 @@ class AuthorForm(CustomForm):
"aliases", "aliases",
"bio", "bio",
"wikipedia_link", "wikipedia_link",
"website",
"born", "born",
"died", "died",
"openlibrary_key", "openlibrary_key",
@ -31,6 +32,7 @@ class AuthorForm(CustomForm):
"wikipedia_link": forms.TextInput( "wikipedia_link": forms.TextInput(
attrs={"aria-describedby": "desc_wikipedia_link"} attrs={"aria-describedby": "desc_wikipedia_link"}
), ),
"website": forms.TextInput(attrs={"aria-describedby": "desc_website"}),
"born": forms.SelectDateWidget(attrs={"aria-describedby": "desc_born"}), "born": forms.SelectDateWidget(attrs={"aria-describedby": "desc_born"}),
"died": forms.SelectDateWidget(attrs={"aria-describedby": "desc_died"}), "died": forms.SelectDateWidget(attrs={"aria-describedby": "desc_died"}),
"oepnlibrary_key": forms.TextInput( "oepnlibrary_key": forms.TextInput(

View file

@ -0,0 +1,33 @@
# Generated by Django 3.2.16 on 2022-12-28 14:36
import bookwyrm.models.fields
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("bookwyrm", "0172_alter_user_preferred_language"),
]
operations = [
migrations.AddField(
model_name="author",
name="website",
field=bookwyrm.models.fields.CharField(
blank=True, max_length=255, null=True
),
),
migrations.AlterField(
model_name="author",
name="isfdb",
field=bookwyrm.models.fields.CharField(blank=True, max_length=6, null=True),
),
migrations.AlterField(
model_name="author",
name="isni",
field=bookwyrm.models.fields.CharField(
blank=True, max_length=19, null=True
),
),
]

View file

@ -17,12 +17,15 @@ class Author(BookDataModel):
max_length=255, blank=True, null=True, deduplication_field=True max_length=255, blank=True, null=True, deduplication_field=True
) )
isni = fields.CharField( isni = fields.CharField(
max_length=255, blank=True, null=True, deduplication_field=True max_length=19, blank=True, null=True, deduplication_field=True
) )
gutenberg_id = fields.CharField( gutenberg_id = fields.CharField(
max_length=255, blank=True, null=True, deduplication_field=True max_length=255, blank=True, null=True, deduplication_field=True
) )
isfdb = fields.CharField( isfdb = fields.CharField(
max_length=6, blank=True, null=True, deduplication_field=True
)
website = fields.CharField(
max_length=255, blank=True, null=True, deduplication_field=True max_length=255, blank=True, null=True, deduplication_field=True
) )
# idk probably other keys would be useful here? # idk probably other keys would be useful here?

View file

@ -58,7 +58,7 @@ class BookDataModel(ObjectMixin, BookWyrmModel):
max_length=255, blank=True, null=True, deduplication_field=True max_length=255, blank=True, null=True, deduplication_field=True
) )
isfdb = fields.CharField( isfdb = fields.CharField(
max_length=255, blank=True, null=True, deduplication_field=True max_length=6, blank=True, null=True, deduplication_field=True
) )
search_vector = SearchVectorField(null=True) search_vector = SearchVectorField(null=True)

View file

@ -28,7 +28,7 @@
<meta itemprop="name" content="{{ author.name }}"> <meta itemprop="name" content="{{ author.name }}">
{% firstof author.aliases author.born author.died as details %} {% firstof author.aliases author.born author.died as details %}
{% firstof author.wikipedia_link author.openlibrary_key author.inventaire_id author.isni author.isfdb as links %} {% firstof author.wikipedia_link author.website author.openlibrary_key author.inventaire_id author.isni author.isfdb as links %}
{% if details or links %} {% if details or links %}
<div class="column is-3"> <div class="column is-3">
{% if details %} {% if details %}
@ -73,6 +73,14 @@
</div> </div>
{% endif %} {% endif %}
{% if author.website %}
<div>
<a itemprop="sameAs" href="{{ author.website }}" rel="nofollow noopener noreferrer" target="_blank">
{% trans "Website" %}
</a>
</div>
{% endif %}
{% if author.isni %} {% if author.isni %}
<div class="mt-1"> <div class="mt-1">
<a itemprop="sameAs" href="{{ author.isni_link }}" rel="nofollow noopener noreferrer" target="_blank"> <a itemprop="sameAs" href="{{ author.isni_link }}" rel="nofollow noopener noreferrer" target="_blank">

View file

@ -57,6 +57,10 @@
{% include 'snippets/form_errors.html' with errors_list=form.wikipedia_link.errors id="desc_wikipedia_link" %} {% include 'snippets/form_errors.html' with errors_list=form.wikipedia_link.errors id="desc_wikipedia_link" %}
<p class="field"><label class="label" for="id_website">{% trans "Website:" %}</label> {{ form.website }}</p>
{% include 'snippets/form_errors.html' with errors_list=form.website.errors id="desc_website" %}
<div class="field"> <div class="field">
<label class="label" for="id_born">{% trans "Birth date:" %}</label> <label class="label" for="id_born">{% trans "Birth date:" %}</label>
<input type="date" name="born" value="{{ form.born.value|date:'Y-m-d' }}" class="input" id="id_born"> <input type="date" name="born" value="{{ form.born.value|date:'Y-m-d' }}" class="input" id="id_born">