| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #coding: utf-8
- from django import forms
- from widgets import UEditorWidget
- from utils import MadeUeditorOptions
- class UEditorField(forms.CharField):
- def __init__(self,label,width=600,height=300,plugins=(),toolbars="normal",filePath="",imagePath="",scrawlPath="",imageManagerPath="",css="",options={}, *args, **kwargs):
- uOptions=MadeUeditorOptions(width,height,plugins,toolbars,filePath,imagePath,scrawlPath,imageManagerPath,css,options)
- kwargs["widget"]=UEditorWidget(**uOptions)
- kwargs["label"]=label
- super(UEditorField,self).__init__( *args, **kwargs)
- def UpdateUploadPath(widget,model_inst=None):
- try:
- from DjangoUeditor.models import UEditorField as ModelUEditorField
- for field in model_inst._meta.fields:
- if isinstance(field, ModelUEditorField):
- if callable(field.ueditor_options["O_imagePath"]):
- newPath=field.ueditor_options["O_imagePath"](model_inst)
- widget.__getitem__(field.name).field.widget.ueditor_options["imagePath"] =newPath
- if field.ueditor_options["O_imageManagerPath"]=="":widget.__getitem__(field.name).field.widget.ueditor_options["imageManagerPath"] =newPath
- if field.ueditor_options["O_scrawlPath"]=="":widget.__getitem__(field.name).field.widget.ueditor_options["scrawlPath"] =newPath
- if callable(field.ueditor_options["O_filePath"]):
- widget.__getitem__(field.name).field.widget.ueditor_options["filePath"] =field.ueditor_options["O_filePath"](model_inst)
- if callable(field.ueditor_options["O_imageManagerPath"]):
- widget.__getitem__(field.name).field.widget.ueditor_options["imageManagerPath"] =field.ueditor_options["O_imageManagerPath"](model_inst)
- if callable(field.ueditor_options["O_scrawlPath"]):
- widget.__getitem__(field.name).field.widget.ueditor_options["scrawlPath"] =field.ueditor_options["O_scrawlPath"](model_inst)
- except:
- pass
- class UEditorModelForm(forms.ModelForm):
- def __init__(self,*args,**kwargs):
- super(UEditorModelForm,self).__init__(*args,**kwargs)
- try:
- if kwargs.has_key("instance"):
- UpdateUploadPath(self,kwargs["instance"])
- else:
- UpdateUploadPath(self,None)
- except Exception:
- pass
|