Changeset 414 for trunk/src

Show
Ignore:
Timestamp:
10/20/08 14:31:00 (3 months ago)
Author:
johnbywater
Message:

Improved Markdown model attribute. Added attribute update view.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/dm/dom/meta.py

    r413 r414  
    335335 
    336336class Text(String): 
    337     "Models a domain object textual attribute." 
     337    "Models a domain object textual attribute (multi-line)." 
    338338 
    339339    def __init__(self, default='', **kwds): 
    340340        super(Text, self).__init__(default=default, **kwds) 
    341341 
    342  
     342from markdown import Markdown 
    343343class MarkdownText(Text): 
    344344    "Models a 'markdown' textual attribute." 
     
    348348    #def createLabelRepr(self, domainObject): 
    349349 
    350  
    351  
    352     pass 
     350    def createLabelRepr(self, domainObject): 
     351        attrValue = getattr(domainObject, self.name) 
     352        if attrValue: 
     353            md = Markdown(safe_mode='escape') 
     354            return md.convert(attrValue) 
     355        else: 
     356            return '' 
    353357 
    354358 
  • trunk/src/dm/view/manipulator.py

    r402 r414  
    189189                 
    190190            elif metaAttr.typeName == 'Text': 
     191                if webkitName == 'django': 
     192                    field = self.webkit.LargeTextField( 
     193                        field_name=metaAttr.name, 
     194                        is_required=isFieldRequired, 
     195                        cols=30, 
     196                        rows=8, 
     197                    ) 
     198                elif webkitName == 'pylons': 
     199                    field = self.webkit.TextField( 
     200                        metaAttr.name, 
     201                        size=40 
     202                    ) 
     203            elif metaAttr.typeName == 'MarkdownText': 
    191204                if webkitName == 'django': 
    192205                    field = self.webkit.LargeTextField( 
  • trunk/src/dm/view/rpc.py

    r413 r414  
    218218    pathGetter = None 
    219219 
     220    # Todo: Finish refactoring this to actually use the inherited class. 
    220221    def runProcedure(self): 
    221222        self.message = '' 
     
    287288     
    288289 
     290class RegistryAttrupdateView(RegistryAutopathView): 
     291 
     292    def runProcedure(self): 
     293        domainObject = self.getModelObject() 
     294        attrName = self.getRequestParam('attrName') 
     295        attrValue = self.getRequestParam('attrValue') 
     296        if attrName: 
     297            # Todo: Process the attrValue properly. 
     298            attrValue = attrValue 
     299            setattr(domainObject, attrName, attrValue) 
     300            domainObject.save() 
     301            self.message = 'OK' 
     302 
     303