Skip to content

Commit b1399d5

Browse files
committed
Renames File.file -> File.source to prevent issues in Django 1.9
1 parent 5522f15 commit b1399d5

File tree

5 files changed

+75
-9
lines changed

5 files changed

+75
-9
lines changed

djangocms_file/cms_plugins.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class FilePlugin(CMSPluginBase):
1515

1616
fieldsets = [
1717
(None, {
18-
'fields': ('title', 'file', 'tooltip', 'target', )
18+
'fields': ('title', 'source', 'tooltip', 'target', )
1919
})
2020
]
2121

@@ -30,6 +30,7 @@ def icon_src(self, instance):
3030
file_icon = instance.get_icon_url()
3131
if file_icon:
3232
return file_icon
33+
return settings.STATIC_URL + u"cms/img/icons/plugins/source.png"
3334
return settings.STATIC_URL + u"cms/img/icons/plugins/file.png"
3435

3536
plugin_pool.register_plugin(FilePlugin)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.9.1 on 2016-01-16 00:04
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations
6+
7+
8+
class Migration(migrations.Migration):
9+
10+
dependencies = [
11+
('djangocms_file', '0002_auto_20151202_1551'),
12+
]
13+
14+
operations = [
15+
migrations.RenameField('file', 'file', 'source')
16+
]

djangocms_file/models.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class File(CMSPlugin):
3939
The icon search is currently performed within get_icon_url; this is
4040
probably a performance concern.
4141
"""
42-
file = models.FileField(_("file"), upload_to=get_plugin_media_path)
42+
source = models.FileField(_("source"), upload_to=get_plugin_media_path)
4343
title = models.CharField(
4444
_("title"), max_length=255, null=True, blank=True,
4545
help_text=_("Optional title to display. If not supplied, the filename "
@@ -70,9 +70,9 @@ class File(CMSPlugin):
7070
def __str__(self):
7171
if self.title:
7272
return self.title
73-
elif self.file:
73+
elif self.source:
7474
# added if, because it raised attribute error when
75-
# file wasn't defined
75+
# source wasn't defined
7676
return self.get_file_name()
7777
return "<empty>"
7878

@@ -85,10 +85,10 @@ def get_icon_url(self):
8585
return None
8686

8787
def file_exists(self):
88-
return default_storage.exists(self.file.name)
88+
return default_storage.exists(self.source.name)
8989

9090
def get_file_name(self):
91-
return os.path.basename(self.file.name)
91+
return os.path.basename(self.source.name)
9292

9393
def get_ext(self):
9494
return os.path.splitext(self.get_file_name())[1][1:].lower()
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
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+
db.rename_column(u'djangocms_file_file', 'file', 'source')
12+
13+
14+
def backwards(self, orm):
15+
db.rename_column(u'djangocms_file_file', 'source', 'file')
16+
17+
18+
models = {
19+
'cms.cmsplugin': {
20+
'Meta': {'object_name': 'CMSPlugin'},
21+
'changed_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
22+
'creation_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
23+
'depth': ('django.db.models.fields.PositiveIntegerField', [], {}),
24+
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
25+
'language': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
26+
'numchild': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
27+
'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.CMSPlugin']", 'null': 'True', 'blank': 'True'}),
28+
'path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
29+
'placeholder': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.Placeholder']", 'null': 'True'}),
30+
'plugin_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
31+
'position': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'})
32+
},
33+
'cms.placeholder': {
34+
'Meta': {'object_name': 'Placeholder'},
35+
'default_width': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True'}),
36+
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
37+
'slot': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
38+
},
39+
u'djangocms_file.file': {
40+
'Meta': {'object_name': 'File', '_ormbases': ['cms.CMSPlugin']},
41+
u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
42+
'source': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
43+
'target': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
44+
'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
45+
'tooltip': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
46+
}
47+
}
48+
49+
complete_apps = ['djangocms_file']
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{% load i18n %}
2-
{% if object.file.url %}
2+
{% if object.source.url %}
33
<p class="plugin_file">
4-
<a href="{{ object.file.url }}"{% if object.target %} target="{{ object.target }}"{% endif %}{% if object.tooltip %} title="{{ object.tooltip }}"{% endif %}>
4+
<a href="{{ object.source.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 %}
6-
{% 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 %}
6+
{% if object.title %}<span class="filetitle">{{ object.title }}{% else %}{{ object.get_file_name }}{% endif %} {% if object.file_exists %}<span class="filesize">({{ object.source.size|filesizeformat }})</span>{% else %}({% trans "file missing!" %}){% endif %}{% if object.title %}</span>{% endif %}
77
</a>
88
</p>
99
{% endif %}

0 commit comments

Comments
 (0)