Commits

Guilherme Gondim committed c72c873

take out reverse() from __init__ to avoid a bug

  • Participants
  • Parent commits bcecc1c

Comments (0)

Files changed (1)

File redactor/widgets.py

 from django.conf import settings
 
 
-OPTIONS = getattr(settings, 'REDACTOR_OPTIONS', {})
+DEFAULT_OPTIONS = getattr(settings, 'REDACTOR_OPTIONS', {})
 
 INIT_JS = """<script type="text/javascript">
   jQuery(document).ready(function(){
     def __init__(self, *args, **kwargs):
         super(RedactorEditor, self).__init__(*args, **kwargs)
         self.upload_to = kwargs.pop('upload_to', '')
-        self.options = OPTIONS.copy()
-        self.options.update(kwargs.pop('redactor_options', {}))
-        self.options.update({
+        self.user_options = kwargs.pop('redactor_options', {})
+
+    def get_options(self):
+        options = DEFAULT_OPTIONS.copy()
+        options.update(self.user_options)
+        options.update({
             'imageUpload': reverse('redactor_upload_image', kwargs={'upload_to': self.upload_to}),
             'fileUpload': reverse('redactor_upload_file', kwargs={'upload_to': self.upload_to})
         })
+        return json.dumps(options)
 
     def render(self, name, value, attrs=None):
         html = super(RedactorEditor, self).render(name, value, attrs)
         final_attrs = self.build_attrs(attrs)
         id_ = final_attrs.get('id')
-        options = json.dumps(self.options)
-        html += INIT_JS % (id_, options)
+        html += INIT_JS % (id_, self.get_options())
         return mark_safe(html)