Changeset 2860 in products for quintagroup.referencedatagridfield


Ignore:
Timestamp:
Sep 27, 2010 12:27:10 PM (14 years ago)
Author:
kroman0
Message:

Fixed bugs

Location:
quintagroup.referencedatagridfield/branches/plone3/quintagroup/referencedatagridfield
Files:
1 added
4 edited
2 moved

Legend:

Unmodified
Added
Removed
  • quintagroup.referencedatagridfield/branches/plone3/quintagroup/referencedatagridfield/_field.py

    r2300 r2860  
    3333        'macro': "referencedatagridwidget", 
    3434        'helper_css': ('datagridwidget.css','referencedatagridwidget.css'), 
    35         'helper_js': ('referencebrowser.js', 'datagridwidget.js',), 
     35        'helper_js': ('referencedatagridbrowser.js', 'datagridwidget.js',), 
    3636        'force_close_on_insert': True, 
    3737        'columns': { 
     
    138138        rows = DataGridField.get(self, instance, **kwargs) 
    139139        for row in rows: 
     140            uid = row.get("uid","") 
     141            link = row.get("link","") 
     142            title = row.get("title","") 
    140143            result.append({ 
    141144                # DataGridField row data 
    142                 "uid": row["uid"], 
    143                 "link": row["link"], 
    144                 "title": row["title"], 
     145                "uid": uid, "link": link, "title": title, 
    145146                # View data 
    146                 "url": "", 
    147                 "default_title": None}) 
     147                "url": "", "default_title": None}) 
    148148            data = result[-1] 
    149149            # Process remote URL and collect UIDs 
    150             if row["link"]: 
    151                 data["url"] = quote(row["link"], safe='?$#@/:=+;$,&%') 
    152                 data["default_title"] = row["link"] 
     150            if link: 
     151                data["url"] = quote(link, safe='?$#@/:=+;$,&%') 
     152                data["default_title"] = link 
    153153                # if title not set for remote url - set it equals to url 
    154154                if not data["title"]: 
    155155                    data["title"] = data["default_title"] 
    156156            else: 
    157                 uids[row["uid"]] = data 
     157                uids[uid] = data 
    158158        # Process UIDs 
    159159        if uids: 
     
    167167                if not data["title"]: 
    168168                    data["title"] = data["default_title"] 
     169            # Remove records with links to unexistent objects 
     170            del_uids = set(uids.keys()) - set([b.UID for b in brains]) 
     171            result = filter(lambda r: not r["uid"] in del_uids, result) 
    169172 
    170173        return result 
  • quintagroup.referencedatagridfield/branches/plone3/quintagroup/referencedatagridfield/columns.py

    r2300 r2860  
    110110            default = rows[self.trigger] 
    111111            # if default is not epty string - than it is same to original value 
     112            if isinstance(current, str):  
     113                current = current.decode('utf-8') 
     114            if isinstance(default, str): 
     115                default = default.decode('utf-8') 
    112116            if current == default: 
    113117                sclass = self.class_not_changed 
  • quintagroup.referencedatagridfield/branches/plone3/quintagroup/referencedatagridfield/skins/referencedatagridfield/referencebrowser_popup.pt

    r2281 r2860  
    276276                                        <img src="#" tal:attributes="src string:${here/portal_url}/${item/getIcon};alt item/Title" /> 
    277277                                        <a tal:condition="python: item.isPrincipiaFolderish and allow_browse" 
    278                                            tal:attributes="href python:item.absolute_url() + '/' + template.getId() + '?fieldName='+ fieldName + '&amp;fieldRealName=' + fieldRealName + '&amp;at_url='+at_url + '&amp;order_idx='+order_idx + '&amp;fieldTitleName='+fieldTitleName + '&amp;fieldLinkName='+fieldLinkName"> 
     278                                           tal:attributes="href string:${item/absolute_url}/${template/getId}?fieldName=${fieldName}&amp;fieldRealName=${fieldRealName}&amp;at_url=${at_url}&amp;order_idx=${order_idx}&amp;fieldTitleName=${fieldTitleName}&amp;fieldLinkName=${fieldLinkName}"> 
    279279                                            <strong tal:condition="referenceable" 
    280280                                                    tal:content="item/title_or_id">Title</strong> 
  • quintagroup.referencedatagridfield/branches/plone3/quintagroup/referencedatagridfield/skins/referencedatagridfield/referencedatagridbrowser.js

    r2851 r2860  
    135135 
    136136 
    137 function referencebrowser_openBrowser(path, fieldName, at_url, fieldRealName, fieldTitleName, fieldLinkName, currnode) { 
     137function referencedatagridbrowser_openBrowser(path, fieldName, at_url, fieldRealName, fieldTitleName, fieldLinkName, currnode) { 
    138138    var url = path + '/referencebrowser_popup?fieldName=' + fieldName + '&fieldRealName=' + fieldRealName +'&at_url=' + at_url; 
    139139 
     
    162162 
    163163// function to return a reference from the popup window back into the widget 
    164 function referencebrowser_setReference(widget_id, uid, label, multi, order_idx, widget_title_id, link_title, widget_link_id, link_path) 
     164function referencedatagridbrowser_setReference(widget_id, uid, label, multi, order_idx, widget_title_id, link_title, widget_link_id, link_path) 
    165165{ 
    166166    if (order_idx >= 0) { 
  • quintagroup.referencedatagridfield/branches/plone3/quintagroup/referencedatagridfield/skins/referencedatagridfield/referencedatagridwidget.pt

    r2296 r2860  
    6262                 
    6363                    <tal:row-loop tal:repeat="rows fielddata" tal:define="newRow python: False"> 
    64                         <tal:row metal:use-macro="here/datagridwidget_edit_row/macros/edit_row"/> 
     64                        <tal:row metal:use-macro="here/referencedatagridwidget_edit_row/macros/edit_row"/> 
    6565                    </tal:row-loop> 
    6666 
     
    7070                     
    7171                        <tal:empty-row tal:define="newRow python: True"> 
    72                                 <tal:template metal:use-macro="here/datagridwidget_edit_row/macros/edit_empty_row"/>                     
     72                                <tal:template metal:use-macro="here/referencedatagridwidget_edit_row/macros/edit_empty_row"/>                    
    7373                        </tal:empty-row>                                 
    7474                 </tbody> 
  • quintagroup.referencedatagridfield/branches/plone3/quintagroup/referencedatagridfield/skins/referencedatagridfield/referencedatagridwidget_manipulators.pt

    r2851 r2860  
    3636                               onClick="" 
    3737                               i18n:attributes="value label_select;" 
    38                                tal:attributes="onClick string:javascript:referencebrowser_openBrowser('${startup_directory}','${field_id}', '${at_url}', '${fieldRealName}', '${field_title_id}', '${field_link_id}', this)" /> 
     38                               tal:attributes="onClick string:javascript:referencedatagridbrowser_openBrowser('${startup_directory}','${field_id}', '${at_url}', '${fieldRealName}', '${field_title_id}', '${field_link_id}', this)" /> 
    3939                    </div> 
    4040                </td> 
Note: See TracChangeset for help on using the changeset viewer.