Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 32 additions & 21 deletions linkit/templates/django/forms/widgets/link.html
Original file line number Diff line number Diff line change
@@ -1,39 +1,51 @@
{% load i18n %}

{# DEBUG #}
{#<code>#}
{# Current Value: {{ widget.link.data.value }}<br>#}
{# Complete Json: {{ widget.link.to_json }}<br>#}
{# Config Json: {{ widget.link.config_to_json }}<br><br>#}
{#</code>#}

{% if widget.allowed_types|length == 1 %}
<div style="display: none;">
{% else %}
<div>
{% endif %}
Link-Typ:<br>
{{ widget.other_fields.link_type }}<br><br>
<div class="form-row"
{% if widget.allowed_types|length == 1 %}style="display: none;"{% endif %}
>
{{ widget.other_fields.link_type }}
</div>

{% if widget.allow_label %}
Link Label:<br>
{{ widget.other_fields.label }}<br><br>
{% endif %}
{% for identifier, type_field in widget.type_fields.items %}
{% if identifier in widget.allowed_types %}
<div class="linkit_{{ widget.name }}_{{ identifier }} linkit_{{ widget.name }}_typefield" style="display: none">
{{ type_field.markup }}<br>
</div>
{% endif %}
{% endfor %}

{% if widget.allow_target %}
{{ widget.other_fields.target }} in neuem Tab öffnen?<br><br>
{% if widget.allow_label %}
<div class="form-row">
<label>{% trans "Label" %}:</label>
{{ widget.other_fields.label }}
<div class="help">{% trans "If ommited the object title will be used, eg page title." %}</div>
</div>
{% endif %}

{% if widget.allow_no_follow %}
{{ widget.other_fields.no_follow }} no follow?<br><br>
<div class="form-row">
<div class="checkbox-row">
{{ widget.other_fields.target }}
<label class="vCheckboxLabel" for="id_link_link_target">{% trans "Open link in a new window" %}</label>
</div>
</div>
{% endif %}

{% for identifier, type_field in widget.type_fields.items %}
{% if identifier in widget.allowed_types %}
<div class="linkit_{{ widget.name }}_{{ identifier }} linkit_{{ widget.name }}_typefield" style="display: none">
{{ type_field.markup }}<br><br>
{% if widget.allow_no_follow %}
<div class="form-row">
<div class="checkbox-row">
{{ widget.other_fields.no_follow }}
<label class="vCheckboxLabel" for="id_link_link_no_follow">{% trans "Add 'nofollow' attribute" %}</label>
</div>
{% endif %}
{% endfor %}
</div>
{% endif %}

<script type="text/javascript">
django.jQuery(document).ready(function () {
Expand All @@ -45,4 +57,3 @@
});
});
</script>

5 changes: 4 additions & 1 deletion linkit/types/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,10 @@ class ModelLinkType(LinkType):
form_class = ModelTypeForm

def real_value(self):
return self.model.objects.filter(pk=self.link.data('value')).first()
if isinstance(self.link.data('value').get('model'), int):
return self.model.objects.filter(pk=self.link.data('value').get('model')).first()
else:
return self.model.objects.filter(pk=self.link.data('value').get('model').pk).first()

@property
def href(self):
Expand Down
7 changes: 5 additions & 2 deletions linkit/types/page.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,14 @@ def __init__(self, *args, **kwargs):

class PageType(LinkType):
identifier = 'page'
type_label = _('CMS Seite')
type_label = _('CMS Page')
form_class = PageTypeForm

def real_value(self) -> Optional[Page]:
return Page.objects.filter(pk=self.link.data('value').get('page')).first()
if isinstance(self.link.data('value').get('page'), int):
return Page.objects.filter(pk=self.link.data('value').get('page')).first()
else:
return Page.objects.filter(pk=self.link.data('value').get('page').pk).first()

@property
def href(self):
Expand Down