Skip to content

Commit ee1475a

Browse files
committed
Merge pull request #9 from divio/tooltip
Tooltip
2 parents 22286c3 + 87809a6 commit ee1475a

File tree

5 files changed

+100
-3
lines changed

5 files changed

+100
-3
lines changed

djangocms_file/cms_plugins.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ class FilePlugin(CMSPluginBase):
1313
render_template = "cms/plugins/file.html"
1414
text_enabled = True
1515

16+
fieldsets = [
17+
(None, {
18+
'fields': ('title', 'file', 'tooltip', 'target', )
19+
})
20+
]
21+
1622
def render(self, context, instance, placeholder):
1723
context.update({
1824
'object': instance,
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# -*- coding: utf-8 -*-
2+
from south.utils import datetime_utils as datetime
3+
from south.db import db
4+
from south.v2 import SchemaMigration
5+
from django.db import models
6+
7+
8+
class Migration(SchemaMigration):
9+
10+
def forwards(self, orm):
11+
# Adding field 'File.tooltip'
12+
db.add_column(u'djangocms_file_file', 'tooltip',
13+
self.gf('django.db.models.fields.CharField')(default='', max_length=255, blank=True),
14+
keep_default=False)
15+
16+
17+
def backwards(self, orm):
18+
# Deleting field 'File.tooltip'
19+
db.delete_column(u'djangocms_file_file', 'tooltip')
20+
21+
22+
models = {
23+
'cms.cmsplugin': {
24+
'Meta': {'object_name': 'CMSPlugin'},
25+
'changed_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
26+
'creation_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
27+
'depth': ('django.db.models.fields.PositiveIntegerField', [], {}),
28+
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
29+
'language': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
30+
'numchild': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
31+
'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.CMSPlugin']", 'null': 'True', 'blank': 'True'}),
32+
'path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
33+
'placeholder': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.Placeholder']", 'null': 'True'}),
34+
'plugin_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
35+
'position': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'})
36+
},
37+
'cms.placeholder': {
38+
'Meta': {'object_name': 'Placeholder'},
39+
'default_width': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True'}),
40+
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
41+
'slot': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
42+
},
43+
u'djangocms_file.file': {
44+
'Meta': {'object_name': 'File', '_ormbases': ['cms.CMSPlugin']},
45+
u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
46+
'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
47+
'target': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
48+
'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
49+
'tooltip': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
50+
}
51+
}
52+
53+
complete_apps = ['djangocms_file']
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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+
('djangocms_file', '0001_initial'),
11+
]
12+
13+
operations = [
14+
migrations.AddField(
15+
model_name='file',
16+
name='tooltip',
17+
field=models.CharField(help_text='Optional tooltip.', max_length=255, verbose_name='tooltip', blank=True),
18+
preserve_default=True,
19+
),
20+
migrations.AlterField(
21+
model_name='file',
22+
name='target',
23+
field=models.CharField(default=b'', choices=[(b'', 'same window'), (b'_blank', 'new window'), (b'_parent', 'parent window'), (b'_top', 'topmost frame')], max_length=100, blank=True, help_text='Optional link target.', verbose_name='target'),
24+
preserve_default=True,
25+
),
26+
migrations.AlterField(
27+
model_name='file',
28+
name='title',
29+
field=models.CharField(help_text='Optional title to display. If not supplied, the filename will be used.', max_length=255, null=True, verbose_name='title', blank=True),
30+
preserve_default=True,
31+
),
32+
]

djangocms_file/models.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,20 @@ class File(CMSPlugin):
4040
probably a performance concern.
4141
"""
4242
file = models.FileField(_("file"), upload_to=get_plugin_media_path)
43-
title = models.CharField(_("title"), max_length=255, null=True, blank=True)
43+
title = models.CharField(
44+
_("title"), max_length=255, null=True, blank=True,
45+
help_text=_("Optional title to display. If not supplied, the filename "
46+
"will be used."))
4447
target = models.CharField(
4548
_("target"), blank=True, max_length=100, choices=((
4649
("", _("same window")),
4750
("_blank", _("new window")),
4851
("_parent", _("parent window")),
4952
("_top", _("topmost frame")),
50-
)), default='')
53+
)), default='', help_text=_("Optional link target."))
54+
tooltip = models.CharField(
55+
_("tooltip"), blank=True, max_length=255,
56+
help_text=_("Optional tooltip."))
5157
# CMS_ICON_EXTENSIONS and CMS_ICON_PATH are assumed to be plugin-specific,
5258
# and not included in cms.settings -- they are therefore imported
5359
# from django.conf.settings

djangocms_file/templates/cms/plugins/file.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{% load i18n %}
22
{% if object.file.url %}
33
<p class="plugin_file">
4-
<a href="{{ object.file.url }}"{% if object.target %} target="{{ object.target }}"{% endif %}>
4+
<a href="{{ object.file.url }}"{% if object.target %} target="{{ object.target }}"{% endif %}{% if object.tooltip %} title="{{ object.tooltip }}"{% endif %}>
55
{% if object.get_icon_url %}<img src="{{ object.get_icon_url }}" alt="" />{% endif %}
66
{% if object.title %}<span class="filetitle">{{ object.title }}{% else %}{{ object.get_file_name }}{% endif %} {% if object.file_exists %}<span class="filesize">({{ object.file.size|filesizeformat }})</span>{% else %}({% trans "file missing!" %}){% endif %}{% if object.title %}</span>{% endif %}
77
</a>

0 commit comments

Comments
 (0)