frappe / builder

Modern website builder for modern web pages
https://youtube.com/watch?v=MF5CKI4MaqU
GNU Affero General Public License v3.0
269 stars 78 forks source link

Dynamic Link is not working #131

Closed surajshetty3416 closed 1 month ago

surajshetty3416 commented 1 month ago
Traceback (most recent call last):
  File "apps/frappe/frappe/website/serve.py", line 20, in get_response
    response = renderer_instance.render()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/website/page_renderers/document_page.py", line 41, in render
    html = self.get_html()
           ^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/website/utils.py", line 523, in cache_html_decorator
    html = func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/website/page_renderers/document_page.py", line 50, in get_html
    self.update_context()
  File "apps/frappe/frappe/website/page_renderers/document_page.py", line 65, in update_context
    ret = self.doc.get_context(self.context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/builder/builder/builder/doctype/builder_page/builder_page.py", line 131, in get_context
    content, style, fonts = get_block_html(blocks)
                            ^^^^^^^^^^^^^^^^^^^^^^
  File "apps/builder/builder/builder/doctype/builder_page/builder_page.py", line 340, in get_block_html
    data = get_html(blocks, soup)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "apps/builder/builder/builder/doctype/builder_page/builder_page.py", line 336, in get_html
    html += str(get_tag(block, soup))
                ^^^^^^^^^^^^^^^^^^^^
  File "apps/builder/builder/builder/doctype/builder_page/builder_page.py", line 329, in get_tag
    tag.append(get_tag(child, soup, data_key=data_key))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/builder/builder/builder/doctype/builder_page/builder_page.py", line 329, in get_tag
    tag.append(get_tag(child, soup, data_key=data_key))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/builder/builder/builder/doctype/builder_page/builder_page.py", line 329, in get_tag
    tag.append(get_tag(child, soup, data_key=data_key))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  [Previous line repeated 2 more times]
  File "apps/builder/builder/builder/doctype/builder_page/builder_page.py", line 320, in get_tag
    tag.append(get_tag(block.get("children")[0], soup, item_key))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/builder/builder/builder/doctype/builder_page/builder_page.py", line 232, in get_tag
    set_dynamic_content_placeholder(block, data_key)
  File "apps/builder/builder/builder/doctype/builder_page/builder_page.py", line 487, in set_dynamic_content_placeholder
    ] = f"{{{{ {key} or '{escape_single_quotes(block['attributes'].get(_property, ''))}' }}}}"
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/builder/builder/builder/doctype/builder_page/builder_page.py", line 512, in escape_single_quotes
    return text.replace("'", "\\'")
           ^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'replace'