Example #1
0
    def media(self):
        from django.contrib.admin.templatetags.admin_static import static

        media = super(ImageInlineAdmin, self).media
        js_list = [

            static("ffiler/js/jquery.magnific-popup.min.js"),
            static("ffiler/js/sortable.js"),
            static("ffiler/js/ffiler.js"),
            static("ffiler/js/django_transport.js"),
            static("ffiler/js/jquery.magnific-popup.min.js"),
        ]
        css_list = {
            'all': [
                static('ffiler/css/magnific-popup.css'),
                static('ffiler/css/ffiler.css'),
            ]
        }

        if not self.exclude_bootstrap_css:
            css_list['all'].insert(0, static('ffiler/css/bootstrap.css'))
        if not self.exclude_bootstrap_js:
            js_list.insert(0, static("ffiler/js/bootstrap.min.js"))
        if not self.exclude_jquery:
            js_list.insert(0, static("ffiler/js/jq.2.0.3.js"), )

        media.add_js(js_list)
        media.add_css(css_list)

        return media
Example #2
0
 def media(self):
     media = super(ReadOnlyInline, self).media
     js = [static('glaze/js/admin.js')]
     css = [static('glaze/css/admin.css')]
     media.add_js(js)
     media.add_css(dict(all=css))
     return media
    def _upgrade_jquery(self, media):
        # upgrade jquery and cms jquery UI
        new_media = Media()
        new_media.add_css(media._css)

        new_jquery_version = static('cms_blogger/js/jquery-1.9.1.min.js')
        new_jquery_ui_version = static('cms_blogger/js/jquery-ui.min.js')
        # make sure all jquery namespaces point to the same jquery
        jquery_namspace = static('cms_blogger/js/jQuery-patch.js')
        django_jquery_urls = [static('admin/js/jquery.js'),
                              static('admin/js/jquery.min.js')]
        django_collapse_js = [static('admin/js/collapse.js'),
                              static('admin/js/collapse.min.js')]
        for js in media._js:
            if js in django_jquery_urls:
                new_media.add_js((new_jquery_version, ))
            elif js in django_collapse_js:
                new_media.add_js(
                    (static('cms_blogger/js/admin-collapse.js'), ))
            elif js == static('admin/js/jquery.init.js'):
                new_media.add_js((js, jquery_namspace))
            elif js.startswith(static('cms/js/libs/jquery.ui.')):
                new_media.add_js((new_jquery_ui_version, ))
            else:
                new_media.add_js((js, ))
        return new_media
Example #4
0
 def media(self):
     prefix = 'django-netjsonconfig/'
     js = [static('{0}/js/{1}'.format(prefix, f))
           for f in ('jsonschemaeditor.js',
                     'jsonschemaeditor_widget.js')]
     css = {'all': (static('{0}css/jsonschemaeditor.css'.format(prefix)),)}
     return forms.Media(js=js, css=css)
Example #5
0
 def media(self):
     media = super(GlazeModelAdmin, self).media
     js = [static('glaze/js/admin.js')]
     css = [static('glaze/css/admin.css')]
     media.add_js(js)
     media.add_css(dict(all=css))
     return media
Example #6
0
 def test_RedactorWidget_media(self):
     widget = RedactorWidget()
     js_url = static(widget.Media.js[0])
     css_url = static(widget.Media.css['all'][0])
     self.assertHTMLEqual(str(widget.media),
                          '<link href="%s" media="all" rel="stylesheet" '
                          'type="text/css" /><script src="%s" '
                          'type="text/javascript" />'
                          % (css_url, js_url))
Example #7
0
    def media(self):
        media_obj = super(ProfileGridPromoPlugin, self).media

        media_obj.add_css({"all": (static("admin/css/profile_admin.css"),)})
        media_obj.add_js(
            (static("admin/js/lib/jquery-ui.min.js"), static("admin/js/lib/jquery.inputlimiter.1.3.1.min.js"))
        )

        return media_obj
Example #8
0
 def media(self):
     js = [static('admin/js/SelectBox.js'),
           static('extradmin/js/jquery.relatedobjectlookup.js')]
     if self.prepopulated_fields:
         js.extend(static('admin/js/urlify.js'),
                   static('extradmin/js/jquery.prepopulate.js'))
     if self.tabs:
         js.append(static('extradmin/js/jquery-ui.lemon.tabs.js'))
     return forms.Media(js=js)
    def media(self):
        media = super(NumericModelAdmin, self).media
        js = media._js
        js.append(static('admin/js/admin/NumericFieldListFilter.js'))
        css = {
            'screen': [static('admin/css/admin/NumericFieldListFilter.css')]
        }

        return forms.Media(js=js, css=css)
Example #10
0
 def media(self):
     '''
     csss = {
         'all': ('admin/css/widgets.css',)
     }
     '''
     js = ["core.js","vendor/jquery/jquery.js","jquery.init.js","calendar.js"]
     #return forms.Media(js=[static('/admin/jsi18n/')] + [static("admin/js/%s" % path) for path in js],css=csss)
     return forms.Media(js=[static('/admin/jsi18n/')] + [static("admin/js/%s" % path) for path in js])
Example #11
0
 def media(self):
     return super(AttachmentInline, self).media + forms.Media(
         js=[
             static('django_attach/js/queue.v1.min.js'),
             static('django_attach/js/d3.v3.min.js'),
             static('django_attach/js/attachment_inline.js'),
         ],
         css={'screen': [static('django_attach/css/attachment_inline.css')]},
     )
Example #12
0
    def render(self, name, value, attrs=None, renderer=None):
        final_attrs = self.build_attrs(attrs)
        element_id = final_attrs.get('id')

        kwargs = {'upload_to': self.upload_to,
                  'max_width': self.max_width,
                  'max_height': self.max_height,
                  'crop': self.crop}

        upload_url = reverse('ajaximage', kwargs=kwargs)

        # NB convert to string and do not rely on value.url
        # value.url fails when rendering form with validation errors because
        # form value is not a FieldFile. Use storage.url and file_path - works
        # with FieldFile instances and string formdata

        #file_path = str(value) if value else ''
        #file_url = default_storage.url(file_path) if value else ''

        #file_name = os.path.basename(file_url)

        #output = self.html.format(upload_url=upload_url,
        #                     file_url=file_url,
        #                     file_name=file_name,
        #                     file_path=file_path,
        #                     element_id=element_id,
        #                     name=name)

        #INICIO thumbs para fields ajaximage#
        #modificado também self.html#

        file_path = str(value) if value else ''

        file_url = hasattr(value, 'url') and value.url or value or ''

        file_name = os.path.basename(file_url)

        if value and self.upload_to == 'fotos':
            thumb_url = static(get_thumbnailer(value)['admin_imovel_fieldsets'].url)
            foto_url = static(get_thumbnailer(value)['imovel_fotos'].url)

        if value and self.upload_to == 'slides':
            thumb_url = static(get_thumbnailer(value)['admin_slides_thumb'].url)
            foto_url = static(file_url)

        output = self.html.format(
                    upload_url=upload_url,
                    file_url=file_url and thumb_url or file_url,
                    file_name=file_name and foto_url or file_url,
                    file_path=file_path,
                    element_id=element_id,
                    name=name)

        #FIM#

        return mark_safe(output)
 def media(self):
     try:
         if getattr(self.request, self.media_attr):
             return forms.Media()
     except AttributeError:
         setattr(self.request, self.media_attr, True)
         return forms.Media(
             js=[static(path) for path in self.js],
             css={'all': [static(path) for path in self.css]}
         )
Example #14
0
 def media(self):
     media = super(OrderedFilteredSelectMultiple, self).media
     media.add_css({
         'all': [
             static('ordered_m2m/widget.css'),
         ]
     })
     media.add_js([
         static('ordered_m2m/widget.js'),
     ])
     return media
    def _media(self):
        js = ["image_cropping/js/jquery.Jcrop.min.js", "image_cropping/image_cropping.js"]
        js = [admin_static.static(path) for path in js]

        if settings.IMAGE_CROPPING_JQUERY_URL:
            js.insert(0, settings.IMAGE_CROPPING_JQUERY_URL)

        css = ["image_cropping/css/jquery.Jcrop.min.css", "image_cropping/css/image_cropping.css"]
        css = {"all": [admin_static.static(path) for path in css]}

        return forms.Media(css=css, js=js)
Example #16
0
 def media(self):
     extra = '' if settings.DEBUG else '.min'
     js = ['jquery%s.js' % extra, 'jquery.init.js', 'inlines%s.js' % extra]
     if self.prepopulated_fields:
         js.extend(['urlify.js', 'prepopulate%s.js' % extra])
     if self.filter_vertical or self.filter_horizontal:
         js.extend(['SelectBox.js', 'SelectFilter2.js'])
     return forms.Media(
         js=[static('admin/js/%s' % url) for url in js] + \
            [static('js/jquery-ui-1.8.13.custom.min.js')],
         css=dict(all=[static('custom_admin/css/style.css')]))
    def media(self):

        media_obj = super(SnippetAdmin, self).media

        if not USE_BOOTSTRAP_ACE:
            media_obj.add_css({
                'all': (
                    static('admin/css/forms.css'),
                    static('admin/css/smartsnippets-extra.css'),)
            })
        return media_obj
Example #18
0
 def profile_email_notifications(self, user):
     """
     display a green/red icon if user accepts or not email notifications.
     if for some reason, the user don't have a UserProfile, it returns a (?) icon.
     """
     if user.get_profile():
         email_notifications = user.get_profile().email_notifications
         icon_url = static('admin/img/icon-%s.gif' % {True: 'yes', False: 'no', None: 'unknown'}[email_notifications])
         return '<img src="{0}" alt="{1}" />'.format(icon_url, email_notifications)
     else:
         icon_url = static('admin/img/icon-icon-unknown.gif')
         return '<img src="{0}" alt="NO PROFILE" />no profile!' % icon_url
Example #19
0
    def media(self):
        try:
            if getattr(self.request, "daterange_filter_media_included"):
                return forms.Media()
        except AttributeError:
            setattr(self.request, "daterange_filter_media_included", True)

            js = ["calendar.js", "admin/DateTimeShortcuts.js"]
            css = ["widgets.css"]

            return forms.Media(
                js=[static("admin/js/%s" % path) for path in js],
                css={"all": [static("admin/css/%s" % path) for path in css]},
            )
Example #20
0
    def media(self):
        try:
            if getattr(self.request, 'daterange_filter_media_included'):
                return forms.Media()
        except AttributeError:
            setattr(self.request, 'daterange_filter_media_included', True)

            js = ['calendar.js', 'admin/DateTimeShortcuts.js', ]
            css = ['widgets.css', ]

            return forms.Media(
                js=[static('admin/js/%s' % path) for path in js],
                css={'all': [static('admin/css/%s' % path) for path in css]}
            )
Example #21
0
    def media(self):
        """Media defined as a dynamic property instead of an inner class."""
        extra = '' if settings.DEBUG else '.min'
        js = [
            'jquery%s.js' % extra,
            'jquery.init.js',
        ]
        if USE_DJANGO_JQUERY:
            js = [static('admin/js/%s' % url) for url in js]
        elif JQUERY_URL:
            js = [JQUERY_URL]
        js = js + [static('smart-selects/admin/js/chainedfk.js')]

        return forms.Media(js=js)
Example #22
0
    def media(self):
        """Media defined as a dynamic property instead of an inner class."""
        vendor = '' if django.VERSION < (1, 9, 0) else 'vendor/jquery/'
        extra = '' if settings.DEBUG else '.min'
        js = [
            '%sjquery%s.js' % (vendor, extra),
            'jquery.init.js',
        ]
        if USE_DJANGO_JQUERY:
            js = [static('admin/js/%s' % url) for url in js]
        elif JQUERY_URL:
            js = [JQUERY_URL]
        js = js + [static('smart-selects/admin/js/chainedm2m.js')]

        return forms.Media(js=js)
Example #23
0
 def get_date_published(self, obj):
     if obj.is_published:
         string = '{} <img src="{}/img/icon-yes.gif" alt="True">'
     else:
         string = '{} <img src="{}/img/icon-no.gif" alt="False">'
     date = formats.date_format(obj.date_published, 'SHORT_DATETIME_FORMAT')
     return format_html(string.format(date, static('admin')))
Example #24
0
 def media(self):
     js = ["admin/jalalijscalendar/jalali.js", "admin/jalalijscalendar/calendar.js",
           "admin/jalalijscalendar/calendar-setup.js",
           "admin/jalalijscalendar/calendar-fa.js", "admin/jDateTimeShortcuts.js"]
     # css = ["calendar-green.css"]
     return forms.Media(js=[static("admin/js/%s" % path) for path in js],
                        css={'all': ('admin/css/calendar-green.css',)})
Example #25
0
    def get_tree_media(self):
        admin_media = super(DjangoMpttAdminMixin, self).media

        js = [
            static('django_mptt_admin/jquery_namespace.js'),
            static('django_mptt_admin/django_mptt_admin.js'),
        ]
        css = dict(
            all=(
                static('django_mptt_admin/django_mptt_admin.css'),
            )
        )

        tree_media = Media(js=js, css=css)

        return admin_media + tree_media
Example #26
0
    def render(self, name, value, attrs=None):
        rel_to = self.rel.to
        if attrs is None:
            attrs = {}
        extra = []
        if rel_to in self.admin_site._registry:
            # The related object is registered with the same AdminSite
            related_url = reverse('admin:%s_%s_changelist' %
                                    (rel_to._meta.app_label,
                                    rel_to._meta.module_name),
                                    current_app=self.admin_site.name)

            params = self.url_parameters()
            if params:
                url = '?' + '&amp;'.join(['%s=%s' % (k, v) for k, v in params.items()])
            else:
                url = ''
            if "class" not in attrs:
                attrs['class'] = 'vForeignKeyRawIdAdminField' # The JavaScript code looks for this hook.
            # TODO: "lookup_id_" is hard-coded here. This should instead use
            # the correct API to determine the ID dynamically.
            extra.append('<a href="%s%s" class="related-lookup" id="lookup_id_%s" onclick="return showRelatedObjectLookupPopup(this);"> '
                            % (related_url, url, name))
            extra.append('<img src="%s" width="16" height="16" alt="%s" /></a>'
                            % (static('admin/img/selector-search.gif'), _('Lookup')))
        output = [super(ForeignKeyRawIdWidget, self).render(name, value, attrs)] + extra
        if value:
            output.append(self.label_for_value(value))
        return mark_safe(''.join(output))
Example #27
0
    def payment_method_override(self, obj):
        payment_method = payment_method_mapping[obj.payment_method]

        if payment_method in payment_method_icon_mapping:
            icon_url = static(payment_method_icon_mapping[payment_method])
            return '<img src="{0}" height="16px" />&nbsp;{1}'.format(icon_url, payment_method)
        return payment_method
Example #28
0
def admin_boolean_icon(val):
    '''
    Admin icon wrapper.
    '''
    icon_url = static('admin/img/icon-%s.gif' %
                      {True: 'yes', False: 'no', None: 'unknown'}[val])
    return mark_safe(u'<img src="%s" alt="%s" />' % (icon_url, val))
Example #29
0
    def render(self, name, value, attrs=None):
        rel_to = self.rel.to
        if attrs is None:
            attrs = {}
        extra = []
        if rel_to in self.admin_site._registry:
            related_url = reverse(
                'admin:%s_%s_changelist' % (
                    rel_to._meta.app_label,
                    rel_to._meta.module_name
                ),
                current_app=self.admin_site.name,
            )

            params = self.url_parameters()
            if params:
                params = [u'%s=%s' % (k, v) for k, v in params.items()]
                params = u'&amp;'.join(params)
                url = u'?' + params
            else:
                url = u''
            if 'class' not in attrs:
                attrs['class'] = 'vForeignKeyRawIdAdminField'
            extra.append(
                u'<a href="%s%s" class="related-lookup" id="lookup_id_%s"> ' %
                    (related_url, url, name))
            extra.append(
                u'<img src="%s" width="16" height="16" alt="%s" /></a>' %
                    (static('admin/img/selector-search.gif'), _('Lookup')))
        output = [forms.TextInput.render(self, name, value, attrs)] + extra
        if value:
            output.append(self.label_for_value(value))
        return mark_safe(u''.join(output))
Example #30
0
    def render(self, name, value, attrs=None):
        if attrs is None:
            attrs = {}
        extra = []

        related_url = reverse('url-browser')

        params = {'url': value}
        if params:
            url = '?' + '&amp;'.join('%s=%s' % (k, v) for k, v in params.items())
        else:
            url = ''
        if "class" not in attrs:
            attrs['class'] = 'vForeignKeyRawIdAdminField'  # The JavaScript code looks for this hook.
        # TODO: "lookup_id_" is hard-coded here. This should instead use
        # the correct API to determine the ID dynamically.
        extra.append(
            '<a href="%s%s" class="related-lookup" id="lookup_id_%s" onclick="return showRelatedObjectLookupPopup(this);"> ' %
            (related_url, url, name)
        )
        extra.append(
            '<img src="%s" width="16" height="16" alt="%s" /></a>' %
            (static('admin/img/selector-search.gif'), _('Lookup'))
        )
        output = [super(UrlWidget, self).render(name, value, attrs)] + extra
        return mark_safe(''.join(output))
Example #31
0
 def render(self, name, value, *args, **kwargs):
     rel_to = self.rel.to
     info = (rel_to._meta.app_label, rel_to._meta.object_name.lower())
     self.widget.choices = self.choices
     output = [self.widget.render(name, value, *args, **kwargs)]
     if self.can_add_related:
         related_url = reverse('admin:%s_%s_add' % info,
                               current_app=self.admin_site.name)
         # TODO: "add_id_" is hard-coded here. This should instead use the
         # correct API to determine the ID dynamically.
         output.append(
             '<a href="%s" class="add-another" id="add_id_%s" onclick="return showAddAnotherPopup(this);"> '
             % (related_url, name))
         output.append(
             '<img src="%s" width="10" height="10" alt="%s"/></a>' %
             (static('admin/img/icon_addlink.gif'), _('Add Another')))
     return mark_safe(''.join(output))
Example #32
0
 def render(self, name, value, attrs=None):
     if attrs is None:
         attrs = {}
     if 'class' not in attrs:
         attrs['class'] = 'vGenericRawIdAdminField'
     output = [super(GenericRawIdWidget, self).render(name, value, attrs)]
     output.append(
         '<a id="lookup_id_%(name)s" class="gen-related-lookup" data-contenttypes="%(contenttypes)s" href="#">'
         % {
             'name': name,
             'contenttypes': self.content_types
         })
     output.append(
         '&nbsp;<img src="%s" width="16" height="16" alt="%s" />' %
         (static('admin/img/selector-search.gif'), _('Lookup')))
     output.append('</a>')
     return mark_safe(u''.join(output))
Example #33
0
 def render(self, name, value, *args, **kwargs):
     rel_to = self.rel.to
     info = (rel_to._meta.app_label, rel_to._meta.object_name.lower())
     self.widget.choices = self.choices
     output = [self.widget.render(name, value, *args, **kwargs)]
     if self.can_add_related:
         related_url = reverse(
             'admin:%s_%s_add' % info,
             current_app=self.admin_site.name,
         )
         output.append(
             u'<a href="%s" class="add-another" id="add_id_%s"> ' %
             (related_url, name))
         output.append(
             u'<img src="%s" width="10" height="10" alt="%s"/></a>' %
             (static('admin/img/icon_addlink.gif'), _('Add Another')))
     return mark_safe(u''.join(output))
Example #34
0
 def render(self, name, value, attrs=None, choices=()):
     if value is None:
         value = ''
     final_attrs = self.build_attrs(attrs, name=name)
     output = [format_html('<select{0}>', flatatt(final_attrs))]
     options = self.render_options(choices, [value])
     if options:
         output.append(options)
     output.append('</select>')
     if hasattr(self, 'd_class') and hasattr(self.d_class, 'get_add_url'):
         related_url = self.d_class.get_add_url()
         url_params = '?_to_field=id'
         output.append('<a href="%s%s" class="add-another" id="add_id_%s" onclick="return showAddAnotherPopup(this);"> '
                       % (related_url, url_params, name))
         output.append('<img src="%s" width="10" height="10" alt="%s"/></a>'
                       % (static('admin/img/icon_addlink.gif'), ugettext('Add Another')))
     return mark_safe('\n'.join(output))
Example #35
0
 def render(self, name, value, attrs=None):
     if value is None:
         value = ''
     final_attrs = self.build_attrs(self.attrs,
                                    extra_attrs=dict(attrs, name=name))
     id_data = attrs.get('id', 'id_data')
     clippy_url = static('cascade/admin/clippy.svg')
     return format_html(
         '<textarea{0}>\r\n{1}</textarea> '
         '<button data-clipboard-target="#{2}" type="button" title="{4}" class="clip-btn">'
         '<img src="{3}" alt="{4}">'
         '</button>\n'
         '<div class="status-line"><label></label><strong id="pasted_success">{5}</strong>'
         '<strong id="copied_success">{6}</strong></div>',
         flatatt(final_attrs), force_text(value), id_data, clippy_url,
         _("Copy to Clipboard"), _("Successfully pasted JSON data"),
         _("Successfully copied JSON data"))
Example #36
0
    def render(self, name, value, attrs=None, renderer=None):
        if DJANGO_1_10:
            output = list(
                super(ApplicationConfigSelect,
                      self).render(name, value, attrs))
            output.append(self._build_script(name, value, attrs))

            related_url = ''
            output.append(
                '<a href="%s" class="add-another" id="add_%s" onclick="return showAddAnotherPopup(this);"> '
                % (related_url, name))
            output.append(
                '<img src="%s" width="10" height="10" alt="%s"/></a>' %
                (static('admin/img/icon_addlink.gif'), _('Add Another')))
            return mark_safe(''.join(output))
        else:
            return super(ApplicationConfigSelect,
                         self).render(name, value, attrs, renderer)
Example #37
0
    def render(self, name, value, attrs=None):
        to_opts = self.r_model._meta
        
        if attrs is None:
            attrs = {}
        extra = []
        if 1:#self.r_model in self.admin_view.admin_site._registry:
            from xadmin.views.page import GridPage
            if issubclass(self.r_model, GridPage):
                related_url = self.r_model.get_page_url()
            else:
                related_url = self.admin_view.get_admin_url(
                    '%s_%s_changelist' % (to_opts.app_label, to_opts.module_name))

            params = self.url_parameters(name)
            if params:
                url = '?' + '&amp;'.join(['%s=%s' % (k, v) for k, v in params.items()])
            else:
                url = ''
            if "class" not in attrs:
                attrs['class'] = 'vForeignKeyRawIdAdminField' # The JavaScript code looks for this hook.

            if value:
                if attrs['class'] == 'vManyToManyRawIdAdminField':
                    self.label_format = '<span style="display: inline-block;"><div class="obj-show " id="id_%s_show">%s</div></span>'
                extra.append( self.label_for_value(value, name=name) )
            else:
                if attrs['class'] == 'vManyToManyRawIdAdminField':
                    input_html = '<div class="obj-show " id="id_%s_show"></div>'%name
                else:
                    input_html = '<input type="text" id="id_%s_show" class="form-control" value="" readonly="readonly" />'%name
                extra.append('<span style="display: inline-block;">%s</span>'%input_html)
            
            extra.append('&nbsp;&nbsp;<a class="related-lookup" id="remove_id_%s" href="javascript://" onclick="return removeRelatedObject(this);" >x</a>&nbsp;&nbsp;'%name)
            extra.append('<a href="%s%s" class="related-lookup" id="lookup_id_%s" onclick="return showRelatedObjectLookupPopup(this);"> '
                            % (related_url, url, name))
            extra.append('<img src="%s" width="16" height="16" alt="%s" /></a>'
                            % (static('admin/img/selector-search.gif'), _('Lookup')))

        attrs['type'] = 'hidden'
        output = [super(RawIdWidget, self).render(name, value, attrs)] + extra

        return mark_safe(''.join(output))
Example #38
0
    def media(self):
        js = [
            "jquery.ui.datepicker.jalali/scripts/jquery-1.10.2.min.js",
            "jquery.ui.datepicker.jalali/scripts/jquery.ui.core.js",
            "jquery.ui.datepicker.jalali/scripts/jquery.ui.datepicker-cc.js",
            "jquery.ui.datepicker.jalali/scripts/calendar.js",
            "jquery.ui.datepicker.jalali/scripts/jquery.ui.datepicker-cc-fa.js",
            "main.js"
        ]

        css = {
            'all': [
                "admin/jquery.ui.datepicker.jalali/themes/base/jquery-ui.min.css",
                "admin/css/main.css"
            ]
        }

        return forms.Media(js=[static("admin/%s" % path) for path in js],
                           css=css)
 def test(self):
     """
     admin_static.static points to the collectstatic version
     (as django.contrib.collectstatic is in INSTALLED_APPS).
     """
     msg = ('{% load admin_static %} is deprecated in favor of '
            '{% load static %}.')
     old_url = staticfiles_storage.base_url
     staticfiles_storage.base_url = '/test/'
     try:
         with warnings.catch_warnings(record=True) as recorded:
             warnings.simplefilter('always')
             url = static('path')
         self.assertEqual(url, '/test/path')
         self.assertEqual(len(recorded), 1)
         self.assertIs(recorded[0].category, RemovedInDjango30Warning)
         self.assertEqual(str(recorded[0].message), msg)
     finally:
         staticfiles_storage.base_url = old_url
Example #40
0
    def render(self, name, value, attrs=None, choices=()):
        output = [super(ApplicationConfigSelect, self).render(name, value, attrs, choices)]
        output.append('<script>\n')
        output.append('var apphooks_configuration = {\n')
        for application, cms_app in self.app_configs.items():
            output.append("'%s': [%s]," % (application, ",".join(["['%s', '%s']" % (config.pk, force_text(config)) for config in cms_app.get_configs()])))
        output.append('\n};\n')
        output.append('var apphooks_configuration_url = {\n')
        for application, cms_app in self.app_configs.items():
            output.append("'%s': '%s'," % (application, cms_app.get_config_add_url()))
        output.append('\n};\n')
        output.append('var apphooks_configuration_value = \'%s\';\n' % value)
        output.append('</script>')

        related_url = ''
        output.append('<a href="%s" class="add-another" id="add_%s" onclick="return showAddAnotherPopup(this);"> '
                      % (related_url, name))
        output.append('<img src="%s" width="10" height="10" alt="%s"/></a>'
                      % (static('admin/img/icon_addlink.gif'), _('Add Another')))
        return mark_safe(''.join(output))
Example #41
0
 def render(self, name, value, *args, **kwargs):
     from django.contrib.admin.views.main import TO_FIELD_VAR
     rel_to = self.rel.to
     info = (rel_to._meta.app_label, rel_to._meta.model_name)
     self.widget.choices = self.choices
     output = [self.widget.render(name, value, *args, **kwargs)]
     if self.can_add_related:
         related_url = reverse('admin:%s_%s_add' % info,
                               current_app=self.admin_site.name)
         url_params = '?%s=%s' % (TO_FIELD_VAR,
                                  self.rel.get_related_field().name)
         # TODO: "add_id_" is hard-coded here. This should instead use the
         # correct API to determine the ID dynamically.
         output.append(
             '<a href="%s%s" class="add-another" id="add_id_%s" onclick="return showAddAnotherPopup(this);"> '
             % (related_url, url_params, name))
         output.append(
             '<img src="%s" width="10" height="10" alt="%s"/></a>' %
             (static('admin/img/icon_addlink.gif'), _('Add Another')))
     return mark_safe(''.join(output))
Example #42
0
 def render(self, name, value, attrs=None, choices=()):
     if attrs is None:
         attrs = {}
     attrs['class'] = 'selectfilter'
     if self.is_stacked:
         attrs['class'] += 'stacked'
     output = [
         super(FilteredSelectMultiple, self).render(name, value, attrs,
                                                    choices)
     ]
     output.append(
         '<script type="text/javascript">addEvent(window, "load", function(e) {'
     )
     # TODO: "id_" is hard-coded here. This should instead use the correct
     # API to determine the ID dynamically.
     output.append(
         'SelectFilter.init("id_%s", "%s", %s, "%s"); });</script>\n' %
         (name, self.verbose_name.replace('"', '\\"'), int(
             self.is_stacked), static('admin/')))
     return mark_safe(''.join(output))
Example #43
0
 def display_message(self, log):
     edit = '<a href="%(url)s"><img src="%(img)s"></img></a>' % {
         'url': reverse('admin:admin_logentry_change', args=(log.pk, )),
         'img': static('admin/img/icon-changelink.svg'),
     }
     if log.is_addition():
         return _('Added "%(link)s". %(edit)s') % {
             'link': self.content_object_link(log),
             'edit': edit
         }
     elif log.is_change():
         return _('Changed "%(link)s" - %(changes)s %(edit)s') % {
             'link': self.content_object_link(log),
             'changes': log.get_change_message(),
             'edit': edit,
         }
     elif log.is_deletion():
         return _('Deleted "%(object)s." %(edit)s') % {
             'object': log.object_repr,
             'edit': edit,
         }
Example #44
0
 def render(self, name, value, attrs=None):
     url = urlresolvers.reverse(self.site.name + ":fb_browse")
     if value is None:
         value = ""
     if value != "" and not isinstance(value, FileObject):
         value = FileObject(value, site=self.site)
     final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
     final_attrs['search_icon'] = static('filebrowser/img/filebrowser_icon_show.gif')
     final_attrs['url'] = url
     final_attrs['directory'] = self.directory
     final_attrs['extensions'] = self.extensions
     final_attrs['format'] = self.format
     final_attrs['ADMIN_THUMBNAIL'] = ADMIN_THUMBNAIL
     final_attrs['data_attrs'] = {k: v for k, v in final_attrs.items() if k.startswith('data-')}
     filebrowser_site = self.site
     if value != "":
         try:
             final_attrs['directory'] = os.path.split(value.original.path_relative_directory)[0]
         except:
             pass
     return render_to_string("filebrowser/custom_field.html", locals())
Example #45
0
    def render(self, name, value, attrs=None, choices=()):
        """ we need to fire SelectFilter.init whenever the html is re-written
            after AJAX call from selection form
        """
        if attrs is None:
            attrs = {}
        attrs['class'] = 'selectfilter'
        if self.is_stacked:
            attrs['class'] += 'stacked'
        output = [
            super(FilteredSelectMultiple, self).render(name, value, attrs,
                                                       choices)
        ]
        output.append('<script type="text/javascript">')

        # import pdb; pdb.set_trace()

        output.append('function setupTagOrderSelectChange() {\n')
        output.append(
            '$("select[name=\'master_ui_edit-ui_mappings_tags\']").change(function(){\n'
        )
        output.append(
            '$(\'#uimap_tag_order_field\').load(\'./update_tag_ui_order #tag_order_inner\', '
            '{tags: $.map($(this).find(\'option\'), function(option) {return option.value;}), '
            ' mui:$(\'#id_master_ui_select-masterui\').val() }, rewriteSortedMultiCheckbox)\n'
        )
        output.append('});\n')
        output.append('};\n')

        output.append('function rewriteFilteredSelect(){\n')
        output.append('SelectFilter.init("id_%s", "%s", %s, "%s"); \n' %
                      (name, self.verbose_name.replace(
                          '"', '\\"'), int(self.is_stacked), static('admin/')))
        # force Webkit redraw
        output.append('$(\'#div_id_%s .selector\').hide().show(0);\n' % name)
        output.append('setupTagOrderSelectChange();};\n')
        output.append('addEvent(window, "load", function(e) {\n')
        output.append('rewriteFilteredSelect()});</script>\n')

        return mark_safe(''.join(output))
Example #46
0
    def render(self, name, value, attrs=None):
        rel_to = self.rel.to
        if attrs is None:
            attrs = {}
        extra = []
        if rel_to in self.admin_site._registry:
            # The related object is registered with the same AdminSite
            related_url = reverse(
                'admin:%s_%s_changelist' % (
                    rel_to._meta.app_label,
                    rel_to._meta.model_name,
                ),
                current_app=self.admin_site.name,
            )

            params = self.url_parameters()
            if params:
                url = '?' + '&amp;'.join('%s=%s' % (k, v)
                                         for k, v in params.items())
            else:
                url = ''
            if "class" not in attrs:
                attrs[
                    'class'] = 'vForeignKeyRawIdAdminField'  # The JavaScript code looks for this hook.
            # TODO: "lookup_id_" is hard-coded here. This should instead use
            # the correct API to determine the ID dynamically.
            extra.append(
                '<a href="%s%s" class="related-lookup" id="lookup_id_%s" onclick="return showRelatedObjectLookupPopup(this);"> '
                % (related_url, url, name))
            extra.append(
                '<img src="%s" width="16" height="16" alt="%s" /></a>' %
                (static('admin/img/selector-search.gif'), _('Lookup')))
        output = [
            super(ForeignKeyRawIdWidget, self).render(name, value, attrs)
        ] + extra
        if value:
            output.append(self.label_for_value(value))
        return mark_safe(''.join(output))
Example #47
0
 def media(self):
     # taken from django.contrib.admin.options ModelAdmin
     extra = '' if settings.DEBUG else '.min'
     # if VERSION <= (1, 8):
     if StrictVersion(get_version()) < StrictVersion('1.9'):
         js = [
             'core.js',
             'admin/RelatedObjectLookups.js',
             'jquery%s.js' % extra,
             'jquery.init.js',
         ]
     else:
         js = [
             'core.js',
             'vendor/jquery/jquery%s.js' % extra,
             'jquery.init.js',
             'admin/RelatedObjectLookups.js',
             'actions%s.js' % extra,
             'urlify.js',
             'prepopulate%s.js' % extra,
             'vendor/xregexp/xregexp%s.js' % extra,
         ]
     return forms.Media(js=[static('admin/js/%s' % url) for url in js])
Example #48
0
 def render(self, name, value, attrs):
     urls = {}
     for m in admin.site._registry:
         urls[model_path(m)] = reverse('admin:%s_%s_changelist' % (m._meta.app_label, m._meta.module_name))
     urls = json.dumps(urls)
     safe_name = name.replace('-', '_')
     extra = []
     extra.append(u'''<script type="text/javascript">var urls = %s; function popup_%s(trigger) {
         var name = trigger.id.replace(/^lookup_/, '');
         name = id_to_windowname(name);
         var chosen_model = django.jQuery(trigger).siblings('select').val();
         if (chosen_model in urls) {
             var href = urls[chosen_model] + '?pop=1'
             var win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes');
             win.focus();
         }
         return false;
         }
     </script>\n''' % (urls, safe_name))
     extra.append(u'<a href="" class="related-lookup" id="lookup_id_%s" onclick="return popup_%s(this);"> ' % (name, safe_name))
     extra.append(u'<img src="%s" width="16" height="16" alt="%s" /></a>' % (static('admin/img/selector-search.gif'), 'Lookup'))
     output = [super(GenericFKInput, self).render(name, value, attrs)] + extra
     return mark_safe(u''.join(output))
Example #49
0
    def render(self, name, value, attrs=None):
        """
        Overrides the base ``render`` method to use only the specific proxy
        model which filters ``cyclos.User``s by 'business'.
        """
        rel_to = self.rel_to
        if attrs is None:
            attrs = {}
        extra = []

        if rel_to in self.admin_site._registry:
            # The related object is registered with the same AdminSite
            hello = 'admin:{0}_{1}_changelist'.format(rel_to._meta.app_label,
                                                      rel_to._meta.model_name)
            related_url = reverse(hello, current_app=self.admin_site.name)

            params = self.url_parameters()
            if params:
                url = '?' + '&amp;'.join(
                    ['{0}={1}'.format(k, v) for k, v in params.items()])
            else:
                url = ''
            if "class" not in attrs:
                attrs['class'] = 'vForeignKeyRawIdAdminField'
            extra.append(
                '<a href="{0}{1}" class="related-lookup" id="lookup_id_{2}" '
                'onclick="return showRelatedObjectLookupPopup(this);"> '
                ''.format(related_url, url, name))
            extra.append('<img src="{0}" width="16" height="16" alt="{1}" />'
                         '</a>'.format(static('admin/img/selector-search.gif'),
                                       _('Lookup')))
        output = [
            super(ForeignKeyRawIdWidget, self).render(name, value, attrs)
        ] + extra
        if value:
            output.append(self.label_for_value(value))
        return mark_safe(''.join(output))
Example #50
0
 def media(self):
     js = ["core.js", "SelectBox.js", "SelectFilter2.js"]
     return forms.Media(js=[static("admin/js/%s" % path) for path in js])
 class Media:
     js = [
         'admin/js/jquery.init.js',
         static('django-freeradius/js/strategy-switcher.js')
     ]
     css = {'all': (static('django-freeradius/css/radiusbatch.css'), )}
Example #52
0
 class Media:
     js = [static('django-freeradius/js/strategy-switcher.js')]
     css = {'all': (static('django-freeradius/css/radiusbatch.css'), )}
Example #53
0
 def media(self):
     extra = '' if settings.DEBUG else '.min'
     js = ['core.js', 'jquery%s.js' % extra, 'jquery.init.js']
     return forms.Media(js=[static('admin/js/%s' % url) for url in js])
 class Media:
     js = [static("js/FilteredSelect.js")]
     css = {'all': [static("css/filtered_select.css")]}
Example #55
0
def static_jquery():
    if DJANGO_VERSION < (1, 9):
        return static("admin/js/jquery.min.js")

    return static("admin/js/vendor/jquery/jquery.min.js")
Example #56
0
def static_search_icon():
    if DJANGO_VERSION < (1, 9):
        return static("admin/img/icon_searchbox.png")

    return static("admin/img/search.svg")
Example #57
0
    def media(self):
        media = super(BulkModelAdmin, self).media
        media.add_js([static('bulk_admin/js/bulk.js')])

        return media
Example #58
0
 def media(self):
     js = ["calendar.js", "admin/DateTimeShortcuts.js"]
     return forms.Media(js=[static("admin/js/%s" % path) for path in js])
Example #59
0
 def media(self):
     js = [static('fsm/js/fsm.js')]
     css = {'all': (static('fsm/css/fsm.css'), )}
     return Media(js=js, css=css)
Example #60
0
def _boolean_icon(field_val):
    icon_url = static('admin/img/icon-%s.gif' %
                      {True: 'yes', False: 'no', None: 'unknown'}[field_val])
    return format_html('<img src="{0}" alt="{1}" />', icon_url, field_val)