Goodmornig
I am not a developer but I tryed to modify the modal class I found  at 
http://linuxapuntes.blogspot.it/2013/03/plugin-modal-bootstrap-web2py.html
It only create a Div based on bootstrap 3 version for modal box, a close 
button and a create button.
If you pass an url to create button it also load the content of the url via 
"ajax".
Hope it can be a good solution to help load content in boxes  . It also 
work with SQLFORM, SQLFORM.grid.


In the controller you can set :


def render_grid():
    from modal_dialog import Modal
    modal = Modal('', '', 'Label Modal', 'Area',class_btn='icon magnifier 
icon-edit glyphicon glyphicon-edit')
    div_modal = DIV(modal.div_modal(''),modal_view.div_modal(''))
    links = [lambda row:  DIV(modal.create_btn(URL(f='render_form', 
args=row.id)) ,) ]
    grid = DIV(SQLFORM.grid(query=query, fields=fields,links=links, 
onupdate=False,  maxtextlength=200, 
user_signature=True,showbuttontext=False,
                                
searchable=True,deletable=False,details=False,editable=False,create = 
False, csv =True,sortable=True))
    
    return dict(grid = grid,div_modal=div_modal)


def render_form():
    id_args= request.args(0) or redirect(URL('blank_comunicazione'))
    form = crud.read(db.table, id_args)
    return form 

Hope it helps.
Merry Christmas

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
from gluon.html import A, DIV, H3, BUTTON, OPTION, TAG, I, XML, URL 
from gluon.sqlhtml import SQLFORM
from gluon.http import HTTP
from gluon import current
import uuid
from gluon.compileapp import LOAD

class Modal(object):
    def __init__(self,  value, title_btn, title_modal,field, onclose='', class_btn ="icon-plus-sign"):
        self.field = field
        self.value = value
        self.title_btn = title_btn
        self.title_modal = title_modal
        if self.field:
            self.key = str(self.field).replace('.', '_')
        else:
            self.key = str(uuid.uuid4())

        self.class_btn = class_btn
        self.modal_id = 'modal_%s' % self.key
        self._target = "c_" + self.key
        self.request = current.request
        self.response = current.response
        self.session = current.session
        self.onclose = onclose


    def btn_close(self):
         # Button to trigger modal .
        btn_close_modal = BUTTON("Chiudi", **{"_class": "btn",
                                                 "_data-dismiss": "modal",
                                                 "_aria-hidden": "true",
                                                 "_onclick":"$('#contet_modal_%s').empty()"%self.modal_id,
                                             })
        return btn_close_modal


    def div_modal(self, content_modal):
        div_modal = DIV(DIV(DIV(
                         DIV(
                             DIV(H3(self.title_modal, _id="myModalLabel"),_class="modal-title"),
                             _class="modal-header"),
                         DIV(content_modal, _class="modal-body", _id="contet_modal_%s" %self.modal_id),
                         DIV(self.btn_close(),_class="modal-footer",),
                        _class="modal-content"),
                             _class="modal-dialog modal-lg"),
                         **{"_id": "%s" % self.modal_id,
                            "_class": "modal fade",
                            "_tabindex": "-1",
                            "_role": "dialog",
                            "_aria-hidden": "true",
                            "_aria-labelledby": "myModalLabel"}
                     )
        return div_modal


    def create_btn(self,url=''):
        btn_show_modal = A(self.title_btn,BUTTON(I(_class=self.class_btn)),_onclick="$('#%s').modal('show')"%self.modal_id, _href=url,cid='contet_modal_%s' % self.modal_id,
                           **{"_class": "btn btn-link","_role": "button","_title": self.title_btn})
        return btn_show_mod

Reply via email to