Skip to content
Snippets Groups Projects
Commit 2621edcd authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Merge branch '383-external-link-widget' into 'master'

Resolve "Add dashboard widget for external link"

Closes #383

See merge request !505
parents ae230406 e1475f81
No related branches found
No related tags found
1 merge request!505Resolve "Add dashboard widget for external link"
Pipeline #6158 passed
# Generated by Django 3.1.7 on 2021-03-03 20:04
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('core', '0009_default_dashboard'),
]
operations = [
migrations.CreateModel(
name='ExternalLinkWidget',
fields=[
('dashboardwidget_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.dashboardwidget')),
('url', models.URLField(verbose_name='URL')),
('icon_url', models.URLField(verbose_name='Icon URL')),
],
options={
'verbose_name': 'External link widget',
'verbose_name_plural': 'External link widgets',
},
bases=('core.dashboardwidget',),
),
]
......@@ -797,6 +797,20 @@ class DashboardWidget(PolymorphicModel, PureDjangoModel):
verbose_name_plural = _("Dashboard Widgets")
class ExternalLinkWidget(DashboardWidget):
template = "core/dashboard_widget/external_link_widget.html"
url = models.URLField(verbose_name=_("URL"))
icon_url = models.URLField(verbose_name=_("Icon URL"))
def get_context(self, request):
return {"title": self.title, "url": self.url, "icon_url": self.icon_url}
class Meta:
verbose_name = _("External link widget")
verbose_name_plural = _("External link widgets")
class DashboardWidgetOrder(ExtensibleModel):
widget = models.ForeignKey(
DashboardWidget, on_delete=models.CASCADE, verbose_name=_("Dashboard widget")
......
<div class="card">
<div class="card-image">
<img src="{{ icon_url }}" alt="{{ title }}" />
</div>
<div class="card-action">
<a href="{{ url }}">{{ title }}</a>
</div>
</div>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment