0001-linkcell-can-link-to-a-combo-page-7400.patch
combo/data/migrations/0007_auto_20150529_0755.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
from __future__ import unicode_literals |
|
3 | ||
4 |
from django.db import models, migrations |
|
5 | ||
6 | ||
7 |
class Migration(migrations.Migration): |
|
8 | ||
9 |
dependencies = [ |
|
10 |
('data', '0006_linkcell'), |
|
11 |
] |
|
12 | ||
13 |
operations = [ |
|
14 |
migrations.AddField( |
|
15 |
model_name='linkcell', |
|
16 |
name='link_page', |
|
17 |
field=models.ForeignKey(related_name='link_cell', to='data.Page', null=True), |
|
18 |
preserve_default=True, |
|
19 |
), |
|
20 |
migrations.AlterField( |
|
21 |
model_name='linkcell', |
|
22 |
name='title', |
|
23 |
field=models.CharField(max_length=150, verbose_name='Title', blank=True), |
|
24 |
preserve_default=True, |
|
25 |
), |
|
26 |
migrations.AlterField( |
|
27 |
model_name='linkcell', |
|
28 |
name='url', |
|
29 |
field=models.URLField(verbose_name='URL', blank=True), |
|
30 |
preserve_default=True, |
|
31 |
), |
|
32 |
] |
combo/data/models.py | ||
---|---|---|
440 | 440 | |
441 | 441 |
@register_cell_class |
442 | 442 |
class LinkCell(CellBase): |
443 |
title = models.CharField(_('Title'), max_length=150) |
|
444 |
url = models.URLField(_('URL')) |
|
443 |
title = models.CharField(_('Title'), max_length=150, blank=True) |
|
444 |
url = models.URLField(_('URL'), blank=True) |
|
445 |
link_page = models.ForeignKey('data.Page', related_name='link_cell', null=True) |
|
445 | 446 | |
446 | 447 |
template_name = 'combo/link-cell.html' |
447 | 448 | |
... | ... | |
452 | 453 |
if not self.title: |
453 | 454 |
return None |
454 | 455 |
return utils.ellipsize(self.title) |
456 | ||
457 |
def render(self, context): |
|
458 |
if self.link_page: |
|
459 |
context['url'] = self.link_page.get_online_url() |
|
460 |
context['title'] = self.title or self.link_page.title |
|
461 |
else: |
|
462 |
context['url'] = self.url |
|
463 |
context['title'] = self.title or self.url |
|
464 |
return super(LinkCell, self).render(context) |
combo/public/templates/combo/link-cell.html | ||
---|---|---|
1 |
<a href="{{cell.url}}">{{cell.title}}</a> |
|
1 |
<a href="{{url}}">{{title}}</a> |
|
2 |
- |