Show
Ignore:
Timestamp:
05/01/08 12:24:21 (23 months ago)
Author:
JensDiemer
Message:

put the plugin preferences into the plugin model.
TODO: update detect_page and set system_settings at install.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/pylucid/PyLucid/plugins_internal/preferences/preferences.py

    r1544 r1548  
    2626from django.utils.translation import ugettext as _ 
    2727 
    28 from PyLucid.db.preferences import get_all_prefs, Preferences 
    2928from PyLucid.system.BasePlugin import PyLucidBasePlugin 
    30 from PyLucid.tools.data_eval import data_eval, DataEvalError 
     29from PyLucid.models import Plugin 
    3130 
    3231 
     
    4443 
    4544        items = [] 
    46         for pref in get_all_prefs(): 
    47             edit_link = self.URLs.methodLink("edit", args=pref.id) 
     45        plugins = Plugin.objects.all() 
     46        for plugin in plugins: 
     47            if plugin.pref_data_string == None: 
     48                continue 
     49 
     50            edit_link = self.URLs.methodLink("edit", args=plugin.id) 
    4851 
    4952            items.append({ 
    50                 "plugin_name": self._vebose_plugin_name(pref), 
    51                 "plugin_description": pref.plugin.description, 
     53                "plugin_name": unicode(plugin), 
     54                "plugin_description": plugin.description, 
    5255                "edit_link": edit_link, 
    5356            }) 
     
    6265        try: 
    6366            url_args = url_args.strip("/") 
    64             pref_id = int(url_args) 
     67            plugin_id = int(url_args) 
    6568        except Exception, e: 
    6669            self.page_msg.red("url error:", e) 
    6770            return 
    6871 
    69         p = Preferences() 
    70         p.init_via_id(pref_id) 
    71         data_dict = p.data_dict 
    72  
    73         p.load_form(self.request) 
    74         unbound_form = p.form 
     72        plugin = Plugin.objects.get(id = plugin_id) 
     73        unbound_form = plugin.get_pref_form(self.request.debug) 
    7574 
    7675        if self.request.method == 'POST': 
     
    7877            if form.is_valid(): 
    7978                new_data_dict = form.cleaned_data 
    80                 p.update_and_save(new_data_dict) 
     79 
     80                plugin.set_pref_data_string(new_data_dict) 
     81                plugin.save() 
    8182                self.page_msg("New preferences saved.") 
    8283                return self.select() # Display the menu 
    8384        else: 
     85            data_dict = plugin.get_preferences() 
    8486            form = unbound_form(data_dict) 
    8587 
    8688        context = { 
    87             "plugin_name": self._vebose_plugin_name(p), 
     89            "plugin_name": unicode(plugin), 
    8890            "form": form, 
    8991            "url_abort": self.URLs.methodLink("select"),