Ejemplo n.º 1
0
def index():
    # set language
    try:
        lang = T.accepted_language.split('-')[0].replace('ja', 'jp')
    except:
        lang = 'en'

    image_chooser = DIALOG(title=T('Select an image'), close=T('close'), renderstyle=True,
                           content=LOAD('plugin_elrte_widget', 'image_upload_or_choose', ajax=True))
    file_chooser = DIALOG(title=T('Select a file'), close=T('close'), renderstyle=True,
                          content=LOAD('plugin_elrte_widget', 'file_upload_or_choose', ajax=True))
    fm_open = """function(callback, kind){
if (kind == 'elfinder') {%s;} else {%s;}
jQuery.data(document.body, 'elrte_callback', callback)
}""" % (file_chooser.show(), image_chooser.show())

    cssfiles = [URL('static', 'css/base.css')]
    
    ################################ The core ######################################
    # Inject the elrte widget
    # You can specify the language for the editor, and include your image chooser.
    # In this demo, the image chooser uses the uploadify plugin.
    # If you want to edit contents with css applied, pass the css file urls for an argument.
    db.product.description.widget = ElrteWidget()
    db.product.description.widget.settings.lang = lang
    db.product.description.widget.settings.fm_open = fm_open
    db.product.description.widget.settings.cssfiles = cssfiles
    ################################################################################

    form = SQLFORM(db.product)
    if form.accepts(request.vars, session):
        session.flash = 'submitted %s' % form.vars
        redirect(URL('index'))
        
    return dict(form=form)
Ejemplo n.º 2
0
    def _get_elrte_widget(self):
        T = current.T
        try:
            lang = T.accepted_language.split('-')[0].replace('ja', 'jp')
        except:
            lang = 'en'
        
        from plugin_dialog import DIALOG
        image_chooser = DIALOG(title=T('Select an image'), close_button=T('close'),
                               content=self.settings.image_crud)
        file_chooser = DIALOG(title=T('Select a file'), close_button=T('close'),
                              content=self.settings.file_crud, ajax=True)
                              
        fm_open = """function(callback, kind) {
if (kind == 'elfinder') {%s;} else {%s;}
jQuery(document.body).bind('managed_html_file_selected managed_html_image_selected', function(e, filename) {
    callback('%s'.replace('__filename__', filename)); jQuery('.managed_html_dialog').hide(); 
});
}""" % (file_chooser.show(), image_chooser.show(), self.settings.upload('__filename__')) # TODO setting for managed_html_file_selected

        from plugin_elrte_widget import ElrteWidget
        widget =  ElrteWidget(lang=lang, cssfiles=self.settings.text_widget_cssfiles,
                              fm_open=fm_open)
        
        _files = [URL('static','plugin_elrte_widget/css/elrte.min.css'),
                 URL('static','plugin_elrte_widget/css/elrte-inner.css'),
                 URL('static','plugin_elrte_widget/css/smoothness/jquery-ui-1.8.13.custom.css'),
                 # URL('static','plugin_elrte_widget/js/jquery-ui-1.8.13.custom.min.js'), # do not use elrte's jquery-ui
                 URL('static','plugin_elrte_widget/js/elrte.min.js')]
        if lang:
            _files.append(URL('static','plugin_elrte_widget/js/i18n/elrte.%s.js' % lang))  
        
        widget.settings.files = _files
        return widget
Ejemplo n.º 3
0
def index():
    dialog = DIALOG(LOAD(f='inner', ajax=True),
                    title='Test',
                    close_button='close',
                    renderstyle=True)
    return dict(dialog=A(
        'show dialog', _href='#', _onclick='%s;return false' % dialog.show()))
Ejemplo n.º 4
0
    def _file_widget(self, field, value, download_url=None, **attributes):
        file_type = attributes.get('file_type')
        T = current.T
        el_id = '%s_%s' % (field._tablename, field.name)
        
        from plugin_dialog import DIALOG
        image_chooser = DIALOG(title=T('Select %s' % file_type), close_button=T('close'),
            content=LOAD(url=URL(args=current.request.args, 
                                 vars={FILE_GRID_KEYWORD % file_type:True}), ajax=True),
            onclose='jQuery(document.body).trigger("managed_html_file_selected", "");',
            _id='managed_html_%s_chooser' % file_type, _class='managed_html_dialog')
               
        
        _record = self.db(self.settings.table_file.name==value
                            ).select(self.settings.table_file.thumbnail).first()
        thumbnail = _record and _record.thumbnail or ''
        
        from gluon.sqlhtml import UploadWidget
        return DIV(INPUT(_type='button', _value='Select', 
                         _onclick="""
jQuery(document.body).one('managed_html_file_selected', function(e, name, thumbnail) {
if(name!="") {
    var url = "%(upload)s".replace('__filename__', name);
    jQuery("#%(id)s__hidden").attr('value', name);
    var ext = name.split('.').slice(-1);
    var a = jQuery("#%(id)s__file a");
    a.attr('href', url);
    if(thumbnail!="") {
        var thumbnail_url = "%(upload)s".replace('__filename__', thumbnail);
        a.html("<img src='"+thumbnail_url+"' style='max-width:150px;max-height:150px;'/>");
    } else {
        a.html("file");
    }
    jQuery('.managed_html_dialog').hide();
}
}); %(show)s; return false;""" % dict(id=el_id, show=image_chooser.show(),
                                      upload=self.settings.upload('__filename__'))), 
                   DIV(self._file_represent(value, thumbnail, 150, 150), _id='%s__file' % el_id, 
                       _style='margin-top:5px;'),
                   DIV(INPUT(_type='checkbox', _onclick="""
if(this.checked) {
    if(!confirm("%(confirm)s")) { this.checked=false; } else { 
        jQuery("#%(id)s__hidden").attr('value', '');
        jQuery("#%(id)s a").html("");
    }
}""" % dict(confirm=current.T('Are you sure you want to delete this object?'), 
                                   id=el_id), 
                             _name=field.name + UploadWidget.ID_DELETE_SUFFIX),
                       UploadWidget.DELETE_FILE, _style='margin-top:5px;'),
                   INPUT(_type='hidden', _value=value,
                         _name=field.name, _id='%s__hidden' % el_id, 
                         requires=field.requires), 
                   _id=el_id)
Ejemplo n.º 5
0
def index():
    # set language
    try:
        lang = T.accepted_language.split('-')[0].replace('ja', 'jp')
    except:
        lang = 'en'

    image_chooser = DIALOG(title=T('Select an image'), close=T('close'), renderstyle=True,
                           content=LOAD('plugin_elrte_widget', 'image_upload_or_choose', ajax=True))
    file_chooser = DIALOG(title=T('Select a file'), close=T('close'), renderstyle=True,
                          content=LOAD('plugin_elrte_widget', 'file_upload_or_choose', ajax=True))
    fm_open = """function(callback, kind){
if (kind == 'elfinder') {%s;} else {%s;}
jQuery.data(document.body, 'elrte_callback', callback)
}""" % (file_chooser.show(), image_chooser.show())

    cssfiles = [URL('static','css/base.css')]
    
    ################################ The core ######################################
    # Inject the elrte widget
    # You can specify the language for the editor, and include your image chooser.
    # In this demo, the image chooser uses the uploadify plugin.
    # If you want to edit contents with css applied, pass the css file urls for an argument.
    db.product.description.widget = ElrteWidget(lang=lang, fm_open=fm_open, cssfiles=cssfiles)
    ################################################################################

    form = SQLFORM(db.product)
    if form.accepts(request.vars, session):
        session.flash = 'submitted %s' % form.vars
        redirect(URL('index'))
        
    return dict(form=form)
Ejemplo n.º 6
0
    def text_widget(self, field, value, **attributes):
        T = current.T
        try:
            lang = T.accepted_language.split('-')[0].replace('ja', 'jp')
        except:
            lang = 'en'
        
        from plugin_dialog import DIALOG
        image_chooser = DIALOG(title=T('Select an image'), close_button=T('close'),
            content=LOAD(url=URL(args=(current.request.args or []) + ['image_chooser'],
                                 vars={self.file_grid_keyword % 'image': True}), ajax=True),
            onclose='jQuery(document.body).trigger("managed_html_file_selected", "");',
            _id='managed_html_image_chooser', _class='managed_html_dialog')
        file_chooser = DIALOG(title=T('Select a file'), close_button=T('close'),
            content=LOAD(url=URL(args=(current.request.args or []) + ['file_chooser'],
                                 vars={self.file_grid_keyword % 'file': True}), ajax=True),
            onclose='jQuery(document.body).trigger("managed_html_file_selected", "");',
            _id='managed_html_file_chooser', _class='managed_html_dialog')
                              
        fm_open = """function(callback, kind) {
if (kind == 'elfinder') {%s;} else {%s;}
jQuery(document.body).one('managed_html_file_selected', function(e, filename) {
if(filename != "") {
    var data = '%s'.replace('__filename__', filename);
    if (kind == 'elfinder') {
        data = '<a href="'+data+'" >FILE</a>';
    }
    callback(data); jQuery('.managed_html_dialog').hide();
}});
}""" % (file_chooser.show(),
        image_chooser.show(), self.settings.upload('__filename__'))  # TODO setting for managed_html_file_selected

        from plugin_elrte_widget import ElrteWidget
        widget = ElrteWidget()
        widget.settings.lang = lang
        widget.settings.cssfiles = self.settings.text_widget_cssfiles
        widget.settings.fm_open = fm_open
        return widget(field, value, **attributes)
Ejemplo n.º 7
0
    def text_widget(self, field, value, **attributes):
        T = current.T
        try:
            lang = T.accepted_language.split('-')[0].replace('ja', 'jp')
        except:
            lang = 'en'
        
        from plugin_dialog import DIALOG
        image_chooser = DIALOG(title=T('Select an image'), close_button=T('close'),
            content=LOAD(url=URL(args=current.request.args, 
                                 vars={FILE_GRID_KEYWORD % 'image':True}), ajax=True),
            onclose='jQuery(document.body).trigger("managed_html_file_selected", "");',
            _id='managed_html_image_chooser', _class='managed_html_dialog')
        # file_chooser = # TODO
                              
        fm_open = """function(callback, kind) {
if (kind == 'elfinder') {%s;} else {%s;}
jQuery(document.body).bind('managed_html_file_selected managed_html_file_selected', function(e, filename) {
    callback('%s'.replace('__filename__', filename)); jQuery('.managed_html_dialog').hide(); 
});
}""" % ('', #file_chooser.show(), 
        image_chooser.show(), self.settings.upload('__filename__')) # TODO setting for managed_html_file_selected

        from plugin_elrte_widget import ElrteWidget
        widget =  ElrteWidget(lang=lang, cssfiles=self.settings.text_widget_cssfiles,
                              fm_open=fm_open)
        
        _files = [URL('static','plugin_elrte_widget/css/elrte.min.css'),
                 URL('static','plugin_elrte_widget/css/elrte-inner.css'),
                 URL('static','plugin_elrte_widget/css/smoothness/jquery-ui-1.8.13.custom.css'),
                 # URL('static','plugin_elrte_widget/js/jquery-ui-1.8.13.custom.min.js'), # do not use elrte's jquery-ui
                 URL('static','plugin_elrte_widget/js/elrte.min.js')]
        if lang:
            _files.append(URL('static','plugin_elrte_widget/js/i18n/elrte.%s.js' % lang))  
        
        widget.settings.files = _files
        return widget(field, value, **attributes)
Ejemplo n.º 8
0
    def _get_elrte_widget(self):
        T = current.T
        try:
            lang = T.accepted_language.split('-')[0].replace('ja', 'jp')
        except:
            lang = 'en'

        from plugin_dialog import DIALOG
        image_chooser = DIALOG(title=T('Select an image'),
                               close_button=T('close'),
                               content=self.settings.image_crud)
        file_chooser = DIALOG(title=T('Select a file'),
                              close_button=T('close'),
                              content=self.settings.file_crud,
                              ajax=True)

        fm_open = """function(callback, kind) {
if (kind == 'elfinder') {%s;} else {%s;}
jQuery(document.body).bind('managed_html_file_selected managed_html_image_selected', function(e, filename) {
    callback('%s'.replace('__filename__', filename)); jQuery('.managed_html_dialog').hide(); 
});
}""" % (file_chooser.show(), image_chooser.show(),
        self.settings.upload('__filename__')
        )  # TODO setting for managed_html_file_selected

        from plugin_elrte_widget import ElrteWidget
        widget = ElrteWidget(lang=lang,
                             cssfiles=self.settings.text_widget_cssfiles,
                             fm_open=fm_open)

        _files = [
            URL('static', 'plugin_elrte_widget/css/elrte.min.css'),
            URL('static', 'plugin_elrte_widget/css/elrte-inner.css'),
            URL(
                'static',
                'plugin_elrte_widget/css/smoothness/jquery-ui-1.8.13.custom.css'
            ),
            # URL('static','plugin_elrte_widget/js/jquery-ui-1.8.13.custom.min.js'), # do not use elrte's jquery-ui
            URL('static', 'plugin_elrte_widget/js/elrte.min.js')
        ]
        if lang:
            _files.append(
                URL('static',
                    'plugin_elrte_widget/js/i18n/elrte.%s.js' % lang))

        widget.settings.files = _files
        return widget
Ejemplo n.º 9
0
    def switch_mode(self):
        settings, request, response = self.settings, current.request, current.response
        self.view_mode = request.args(0)
        if self.view_mode not in (EDIT_MODE, PREVIEW_MODE):
            self.view_mode = LIVE_MODE
            return

        response.files.append(
            URL('static', 'plugin_managed_html/managed_html.css'))
        response.files.append(
            URL('static', 'plugin_managed_html/managed_html.js'))
        response.files.append(
            URL('static',
                'plugin_managed_html/jquery-ui-1.8.16.custom.min.js'))

        response.meta.managed_html_home_url = settings.home_url
        response.meta.managed_html_home_label = settings.home_label

        response.meta.managed_html_live_url = settings.URL(
            args=request.args[1:], vars=request.vars, scheme='http')

        if self.view_mode in (EDIT_MODE, PREVIEW_MODE):
            if self.view_mode == EDIT_MODE:
                if (self._image_grid_keyword in current.request.vars or
                        current.request.args(1) == self._image_grid_keyword):
                    raise HTTP(200, self.image_grid())

                response.meta.managed_html_preview_url = settings.URL(
                    args=[PREVIEW_MODE] + request.args[1:], vars=request.vars)
            elif self.view_mode == PREVIEW_MODE:
                response.meta.managed_html_edit_url = settings.URL(
                    args=[EDIT_MODE] + request.args[1:], vars=request.vars)

            from plugin_dialog import DIALOG
            T = current.T
            response.meta.managed_html_show_page_crud = DIALOG(
                title=T('+ Page'),
                close_button=T('close'),
                content=settings.page_crud).show()
Ejemplo n.º 10
0
def index():
    dialog = DIALOG(LOAD(c='pacientes', f='registro', ajax=True), title='Nuevo Paciente', close_button='close', renderstyle=True)

    return dict(dialog=A('Nuevo Paciente', _href='#', _class='boton',_onclick='%s;return false' % dialog.show()))
Ejemplo n.º 11
0
    def image_widget(self, field, value, download_url=None, **attributes):
        T = current.T
        el_id = '%s_%s' % (field._tablename, field.name)

        from plugin_dialog import DIALOG
        image_chooser = DIALOG(title=T('Select an image'),
                               close_button=T('close'),
                               content=LOAD(url=URL(
                                   args=current.request.args,
                                   vars={self._image_grid_keyword: True}),
                                            ajax=True),
                               onclose="""
jQuery(document.body).trigger("managed_html_image_selected", "");""",
                               _id='managed_html_image_chooser',
                               _class='managed_html_dialog')

        from gluon.sqlhtml import UploadWidget
        return DIV(INPUT(_type='button',
                         _value='Select',
                         _onclick="""
jQuery(document.body).one('managed_html_image_selected', function(e, filename) {
if(filename!="") {
    var url = "%(upload)s".replace('__filename__', filename);
    jQuery("#%(id)s__hidden").attr('value', filename);
    var ext = filename.split('.').slice(-1);
    var a = jQuery("#%(id)s__file a");
    a.attr('href', url);
    if (ext=='png' || ext=='jpg' || ext=='jpeg' || ext=='gif'|| ext=='bmp') {
        a.html("<img src='"+url+"' style='max-width:150px;max-height:150px;'/>");
    } else {
        a.html("file");
    }
    jQuery('.managed_html_dialog').hide();
}
}); %(show)s; return false;""" %
                         dict(id=el_id,
                              show=image_chooser.show(),
                              upload=self.settings.upload('__filename__'))),
                   DIV(self.file_represent(value, 150, 150),
                       _id='%s__file' % el_id,
                       _style='margin-top:5px;'),
                   DIV(INPUT(
                       _type='checkbox',
                       _onclick="""
if(this.checked) {
    if(!confirm("%(confirm)s")) { this.checked=false; } else { 
        jQuery("#%(id)s__hidden").attr('value', '');
        jQuery("#%(id)s a").html("");
    }
}
                        """ % dict(confirm=current.T(
                           'Are you sure you want to delete this object?'),
                                   id=el_id),
                       _name=field.name + UploadWidget.ID_DELETE_SUFFIX),
                       UploadWidget.DELETE_FILE,
                       _style='margin-top:5px;'),
                   INPUT(_type='hidden',
                         _value=value,
                         _name=field.name,
                         _id='%s__hidden' % el_id,
                         requires=field.requires),
                   _id=el_id)