Skip to content

Commit 93bafa2

Browse files
committed
Added Twitter handle field for each system
1 parent 9430c52 commit 93bafa2

File tree

7 files changed

+50
-7
lines changed

7 files changed

+50
-7
lines changed

dbdb/core/admin.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ class SystemVersionAdmin(admin.ModelAdmin):
4444
empty_value_display = 'unknown'
4545
list_display = ('system', 'ver', 'creator', 'created')
4646
list_filter = ['created', 'system']
47-
readonly_fields=('ver', )
47+
readonly_fields=('ver', 'system')
48+
ordering = ('-created',)
49+
exclude = ('system', )
4850

4951
class SystemACLAdmin(admin.ModelAdmin):
5052
list_display = ('system', 'user', 'created', 'modified')

dbdb/core/forms.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,13 @@ class SystemVersionEditForm(forms.ModelForm):
220220
help_text="Separate the urls with commas",
221221
required=False
222222
)
223+
224+
def clean_twitter_handle(self):
225+
data = self.cleaned_data['twitter_handle']
226+
if data and data[0] != '@':
227+
raise ValidationError("Invalid Twitter handle. Expected to start with '@' character")
228+
return data
229+
223230

224231
class Meta:
225232
model = SystemVersion
@@ -233,6 +240,7 @@ class Meta:
233240
'source_url',
234241
'tech_docs',
235242
'wikipedia_url',
243+
'twitter_handle',
236244
'developer',
237245
'start_year',
238246
'start_year_citations',
@@ -283,6 +291,7 @@ class Meta:
283291
'source_url',
284292
'tech_docs',
285293
'wikipedia_url',
294+
'twitter_handle',
286295
'developer',
287296
'start_year',
288297
'start_year_citations',
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 3.1.14 on 2022-01-02 19:49
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('core', '0023_auto_20220102_1437'),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name='systemversion',
15+
name='twitter_handle',
16+
field=models.CharField(blank=True, help_text='Twitter account for the database (avoid company account if possible)', max_length=100),
17+
),
18+
]

dbdb/core/models.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,10 @@ class SystemVersion(models.Model):
390390
blank=True, max_length=500,
391391
verbose_name="Wikipedia URL",
392392
help_text="URL of Wikipedia article about this system (if available)")
393+
394+
twitter_handle = models.CharField(
395+
blank=True, max_length=100,
396+
help_text="Twitter account for the database (avoid company account if possible)")
393397

394398
class Meta:
395399
ordering = ('-ver',)
@@ -432,6 +436,9 @@ def update_version(self):
432436
pass
433437
return
434438

439+
def twitter_handle_url(self):
440+
return settings.TWITTER_URL + self.twitter_handle.replace('@', '')
441+
435442
def twitter_card_url(self):
436443
return settings.TWITTER_CARD_URL + self.get_twitter_card_image()
437444

dbdb/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@
181181
# Custom Twitter Cards
182182
TWITTER_CARD_ROOT = os.path.join(MEDIA_ROOT, 'twitter')
183183
TWITTER_CARD_URL = MEDIA_URL + "twitter/"
184+
TWITTER_URL = "https://twitter.com/"
184185

185186
TWITTER_CARD_TEMPLATE = os.path.join(STATIC_ROOT, 'core/images/dbdb_io_card_template.png')
186187
TWITTER_CARD_BASE_OFFSET_X = 200

templates/core/databases-edit.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ <h1>Edit Database System</h1>
4545
{% bootstrap_field system_version_form.source_url %}
4646
{% bootstrap_field system_version_form.tech_docs %}
4747
{% bootstrap_field system_version_form.wikipedia_url %}
48+
{% bootstrap_field system_version_form.twitter_handle placeholder='@account_name' %}
4849
{% bootstrap_field system_version_form.project_types form_group_class="form-group multi-select" %}
4950
</div>
5051

templates/core/system_base.html

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -183,12 +183,12 @@ <h6 class="card-title">Source Code</h6>
183183
<h6 class="card-title">Tech Docs</h6>
184184
<p class="card-text"><a href="{{ system_version.tech_docs }}">{{ system_version.tech_docs }}</a></p>
185185
{% endif %}
186-
187-
{% if system_version.former_names %}
188-
<h6 class="card-title">Former Name</h6>
189-
<p class="card-text">{{ system_version.former_names }}</p>
186+
187+
{% if system_version.twitter_handle %}
188+
<h6 class="card-title">Twitter</h6>
189+
<p class="card-text"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-twitter" viewBox="0 0 16 16"> <path d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z"/></svg> <a target="twitter" href="{{ system_version.twitter_handle_url }}"> {{ system_version.twitter_handle }}</a></p>
190190
{% endif %}
191-
191+
192192
{% if system_version.developer %}
193193
<h6 class="card-title">Developer</h6>
194194
<p class="card-text">{{ system_version.developer }}</p>
@@ -237,6 +237,11 @@ <h6 class="card-title">
237237
</ul>
238238
</cite>
239239
{% endif %}
240+
241+
{% if system_version.former_names %}
242+
<h6 class="card-title">Former Name</h6>
243+
<p class="card-text">{{ system_version.former_names }}</p>
244+
{% endif %}
240245

241246
{% if system_version.acquired_by %}
242247
<h6 class="card-title">
@@ -313,7 +318,7 @@ <h6 class="card-title">Licenses</h6>
313318
<h6 class="card-title">Wikipedia</h6>
314319
<p class="card-text"><a target="wikipedia" href="{{ system_version.wikipedia_url }}">{{ system_version.wikipedia_url }}</a></p>
315320
{% endif %}
316-
321+
317322
</div>
318323
</div>
319324

0 commit comments

Comments
 (0)