本文整理汇总了Python中xadmin.sites.site.register_plugin函数的典型用法代码示例。如果您正苦于以下问题:Python register_plugin函数的具体用法?Python register_plugin怎么用?Python register_plugin使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了register_plugin函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: get_field_attrs
user_fields = []
def get_field_attrs(self, __, db_field, **kwargs):
if self.user_fields and db_field.name in self.user_fields:
return {'widget': forms.HiddenInput}
return __()
def get_form_datas(self, datas):
if self.user_fields and 'data' in datas:
if hasattr(datas['data'],'_mutable') and not datas['data']._mutable:
datas['data'] = datas['data'].copy()
for f in self.user_fields:
datas['data'][f] = self.user.id
return datas
site.register_plugin(UserFieldPlugin, ModelFormAdminView)
class ModelPermissionPlugin(BasePlugin):
user_can_access_owned_objects_only = False
user_owned_objects_field = 'user'
def queryset(self, qs):
if self.user_can_access_owned_objects_only and \
not self.user.is_superuser:
filters = {self.user_owned_objects_field: self.user}
qs = qs.filter(**filters)
return qs
开发者ID:wuyouzi,项目名称:DjangoX,代码行数:29,代码来源:auth.py
示例2: enumerate
try:
layout_pos = UserSettings.objects.get(
user=self.user, key=self._portal_key()).value
layout_cs = layout_pos.split('|')
for i, c in enumerate(cs):
c.fields = [fs_map.pop(j) for j in layout_cs[i].split(
',') if j in fs_map] if len(layout_cs) > i else []
if fs_map and cs:
cs[0].fields.extend(fs_map.values())
except Exception:
pass
return helper
def block_form_top(self, context, node):
# put portal key and submit url to page
return "<input type='hidden' id='_portal_key' value='%s' />" % self._portal_key()
class ModelDetailPlugin(ModelFormPlugin):
def _portal_key(self):
return '%s_%s_detail_portal' % (self.opts.app_label, self.opts.module_name)
def block_after_fieldsets(self, context, node):
# put portal key and submit url to page
return "<input type='hidden' id='_portal_key' value='%s' />" % self._portal_key()
site.register_plugin(ModelFormPlugin, ModelFormAdminView)
site.register_plugin(ModelDetailPlugin, DetailAdminView)
开发者ID:0312birdzhang,项目名称:django-xadmin,代码行数:30,代码来源:portal.py
示例3: capfirst
else:
description = capfirst(action.replace('_', ' '))
return func, action, description, getattr(func, 'icon', 'tasks')
# View Methods
def result_header(self, item, field_name, row):
if item.attr and field_name == 'action_checkbox':
item.classes.append("action-checkbox-column")
return item
def result_item(self, item, obj, field_name, row):
if item.field is None and field_name == u'action_checkbox':
item.classes.append("action-checkbox")
return item
# Media
def get_media(self, media):
if self.actions and self.admin_view.result_count:
media = media + self.vendor('xadmin.plugin.actions.js', 'xadmin.plugins.css')
return media
# Block Views
def block_results_bottom(self, context, nodes):
if self.actions and self.admin_view.result_count:
nodes.append(loader.render_to_string('xadmin/blocks/model_list.results_bottom.actions.html',
context=get_context_dict(context)))
site.register_plugin(ActionPlugin, ListAdminView)
开发者ID:Acewangbw,项目名称:share,代码行数:30,代码来源:actions.py
示例4: _
{'name': _(u"Bootstrap2"), 'description': _(u"Bootstrap 2.x theme"),
'css': self.bootstrap2_theme}]
select_css = context.get('site_theme', self.default_theme)
if self.user_themes:
themes.extend(self.user_themes)
if self.use_bootswatch:
ex_themes = cache.get(THEME_CACHE_KEY)
if ex_themes:
themes.extend(json.loads(ex_themes))
else:
ex_themes = []
try:
watch_themes = json.loads(urllib.urlopen(
'http://api.bootswatch.com/3/').read())['themes']
ex_themes.extend([
{'name': t['name'], 'description': t['description'],
'css': t['cssMin'], 'thumbnail': t['thumbnail']}
for t in watch_themes])
except Exception:
pass
cache.set(THEME_CACHE_KEY, json.dumps(ex_themes), 24 * 3600)
themes.extend(ex_themes)
nodes.append(loader.render_to_string('xadmin/blocks/comm.top.theme.html', {'themes': themes, 'select_css': select_css}))
site.register_plugin(ThemePlugin, BaseAdminView)
开发者ID:jbetsinger,项目名称:mes,代码行数:30,代码来源:themes.py
示例5: JsonErrorDict
if form.is_valid():
result['result'] = 'success'
else:
result['result'] = 'error'
result['errors'] = JsonErrorDict(form.errors, form).as_json()
return self.render_response(result)
class AjaxDetailPlugin(BaseAjaxPlugin):
def get_response(self, __):
if self.request.GET.get('_format') == 'html':
self.admin_view.detail_template = 'xadmin/views/quick_detail.html'
return __()
form = self.admin_view.form_obj
layout = form.helper.layout
results = []
for p, f in layout.get_field_names():
result = self.admin_view.get_field_result(f)
results.append((result.label, result.val))
return self.render_response(SortedDict(results))
site.register_plugin(AjaxListPlugin, ListAdminView)
site.register_plugin(AjaxFormPlugin, ModelFormAdminView)
site.register_plugin(AjaxDetailPlugin, DetailAdminView)
开发者ID:zhoudaqing,项目名称:DjangoX,代码行数:30,代码来源:ajax.py
示例6: hasattr
return None
if hasattr(func, 'short_description'):
description = func.short_description
else:
description = action
return func, action, description, getattr(func, 'icon', 'tasks')
def result_header(self, item, field_name, row):
if item.attr and field_name == 'action_checkbox':
item.classes.append("action-checkbox-column")
return item
def result_item(self, item, obj, field_name, row):
if item.field is None and field_name == u'action_checkbox':
item.classes.append("action-checkbox")
return item
def get_media(self, media):
if self.admin_view.result_count:
media = media + self.vendor('xadmin.plugin.actions.js', 'xadmin.plugins.css')
return media
def block_results_bottom(self, context, nodes):
if self.admin_view.result_count:
_tpl = 'xadmin/blocks/grid.results_bottom.actions.html' if self.admin_view.grid else 'xadmin/blocks/form.results_bottom.actions.html'
nodes.append(loader.render_to_string(_tpl, context_instance=context))
site.register_plugin(ActionPlugin, ListAdminView)
site.register_plugin(ActionPlugin, GridPage)
site.register_plugin(ActionPlugin, UpdateAdminView)
开发者ID:bruseshen,项目名称:DjangoX,代码行数:31,代码来源:actions.py
示例7: reverse
has_view_perm = self.admin_view.has_model_perm(rel_obj.__class__, 'view')
has_change_perm = self.has_model_perm(rel_obj.__class__, 'change')
if rel_obj and has_view_perm:
opts = rel_obj._meta
try:
item_res_uri = reverse(
'%s:%s_%s_detail' % (self.admin_site.app_name,
opts.app_label, opts.module_name),
args=(getattr(rel_obj, opts.pk.attname),))
if item_res_uri:
if has_change_perm:
edit_url = reverse(
'%s:%s_%s_change' % (self.admin_site.app_name, opts.app_label, opts.module_name),
args=(getattr(rel_obj, opts.pk.attname),))
else:
edit_url = ''
item.btns.append('<a data-res-uri="%s" data-edit-uri="%s" class="details-handler" rel="tooltip" title="%s"><i class="fa fa-info-circle"></i></a>'
% (item_res_uri, edit_url, _(u'Details of %s') % str(rel_obj)))
except NoReverseMatch:
pass
return item
# Media
def get_media(self, media):
if self.show_all_rel_details or self.show_detail_fields:
media = media + self.vendor('xadmin.plugin.details.js', 'xadmin.form.css')
return media
site.register_plugin(DetailsPlugin, ListAdminView)
开发者ID:bruseshen,项目名称:DjangoX,代码行数:30,代码来源:details.py
示例8: super
form.save(**opts)
context = super(ResetPasswordSendView, self).get_context()
return TemplateResponse(request, self.password_reset_done_template, context,
current_app=self.admin_site.name)
else:
return self.get(request, form=form)
site.register_view(r'^xadmin/password_reset/$', ResetPasswordSendView, name='xadmin_password_reset')
class ResetLinkPlugin(BasePlugin):
def block_form_bottom(self, context, nodes):
reset_link = self.get_admin_url('xadmin_password_reset')
return '<div class="text-info" style="margin-top:15px;"><a href="%s"><i class="fa fa-question-sign"></i> %s</a></div>' % (reset_link, _('Forgotten your password or username?'))
site.register_plugin(ResetLinkPlugin, LoginView)
class ResetPasswordComfirmView(BaseView):
need_site_permission = False
password_reset_set_form = SetPasswordForm
password_reset_confirm_template = 'xadmin/auth/password_reset/confirm.html'
password_reset_token_generator = default_token_generator
def do_view(self, request, uidb36, token, *args, **kwargs):
context = super(ResetPasswordComfirmView, self).get_context()
return password_reset_confirm(request, uidb36, token,
template_name=self.password_reset_confirm_template,
token_generator=self.password_reset_token_generator,
开发者ID:JoneXiong,项目名称:DjangoX,代码行数:31,代码来源:passwords.py
示例9: RefreshPlugin
class RefreshPlugin(BaseAdminPlugin):
refresh_times = []
# Media
def get_media(self, media):
if self.refresh_times and self.request.GET.get(REFRESH_VAR):
media = media + self.vendor('xadmin.plugin.refresh.js')
return media
# Block Views
def block_top_toolbar(self, context, nodes):
if self.refresh_times:
current_refresh = self.request.GET.get(REFRESH_VAR)
context.update({
'has_refresh': bool(current_refresh),
'clean_refresh_url': self.admin_view.get_query_string(remove=(REFRESH_VAR,)),
'current_refresh': current_refresh,
'refresh_times': [{
'time': r,
'url': self.admin_view.get_query_string({REFRESH_VAR: r}),
'selected': str(r) == current_refresh,
} for r in self.refresh_times],
})
nodes.append(loader.render_to_string('xadmin/blocks/model_list.top_toolbar.refresh.html',
get_context_dict(context)))
site.register_plugin(RefreshPlugin, ListAdminView)
开发者ID:116pythonZS,项目名称:imooc-django,代码行数:29,代码来源:refresh.py
示例10: UserFieldPlugin
class UserFieldPlugin(BaseAdminPlugin):
user_fields = []
def get_field_attrs(self, __, db_field, **kwargs):
if self.user_fields and db_field.name in self.user_fields:
return {'widget': forms.HiddenInput}
return __()
def get_form_datas(self, datas):
if self.user_fields and 'data' in datas:
for f in self.user_fields:
datas['data'][f] = self.user.id
return datas
site.register_plugin(UserFieldPlugin, ModelFormAdminView)
class ModelPermissionPlugin(BaseAdminPlugin):
user_can_access_owned_objects_only = False
user_owned_objects_field = 'user'
def queryset(self, qs):
if self.user_can_access_owned_objects_only and \
not self.user.is_superuser:
filters = {self.user_owned_objects_field: self.user}
qs = qs.filter(**filters)
return qs
开发者ID:sirithink,项目名称:django-xadmin,代码行数:29,代码来源:auth.py
示例11: SiteMenuStylePlugin
from xadmin.sites import site
from xadmin.views import BaseAdminPlugin, CommAdminView
BUILDIN_STYLES = {
'default': 'xadmin/includes/sitemenu_default.html',
'accordion': 'xadmin/includes/sitemenu_accordion.html',
}
class SiteMenuStylePlugin(BaseAdminPlugin):
menu_style = None
def init_request(self, *args, **kwargs):
return bool(self.menu_style) and self.menu_style in BUILDIN_STYLES
def get_context(self, context):
context['menu_template'] = BUILDIN_STYLES[self.menu_style]
return context
site.register_plugin(SiteMenuStylePlugin, CommAdminView)
开发者ID:0312birdzhang,项目名称:django-xadmin,代码行数:21,代码来源:sitemenu.py
示例12: get_field_attrs
def get_field_attrs(self, __, db_field, **kwargs):
if not self.user.is_superuser:
if self.user_fields and db_field.name in self.user_fields:
return {'widget': forms.HiddenInput}
return __()
def get_form_datas(self, datas):
if not self.user.is_superuser:
if self.user_fields and 'data' in datas:
if hasattr(datas['data'],'_mutable') and not datas['data']._mutable:
datas['data'] = datas['data'].copy()
for f in self.user_fields:
datas['data'][f] = self.user.pk
return datas
site.register_plugin(UserFieldPlugin, ModelFormAdminView)
class ProyectoFieldPlugin(BaseAdminPlugin):
proyecto_fields = []
def get_field_attrs(self, __, db_field, **kwargs):
if not self.user.is_superuser:
#if not self.user.es_empleado(): #esto no está del todo bien, pero bueno. es para evitaar
if self.proyecto_fields and db_field.name in self.proyecto_fields:
return {'widget': forms.HiddenInput}
return __()
def get_form_datas(self, datas):
if not self.user.is_superuser:
开发者ID:franmer,项目名称:django-xadmin,代码行数:31,代码来源:auth.py
示例13: block_top_navmenu
nodes.append(loader.render_to_string('xadmin/blocks/comm.top.topnav.html', {'search_models': search_models, 'search_name': SEARCH_VAR}))
def block_top_navmenu(self, context, nodes):
add_models = []
site_name = self.admin_site.name
if self.global_add_models == None:
models = self.admin_site._registry.keys()
else:
models = self.global_add_models
for model in models:
app_label = model._meta.app_label
if self.has_model_perm(model, "add"):
info = (app_label, model._meta.module_name)
try:
add_models.append({
'title': _('Add %s') % capfirst(model._meta.verbose_name),
'url': reverse('xadmin:%s_%s_add' % info, current_app=site_name),
'model': model
})
except NoReverseMatch:
pass
nodes.append(
loader.render_to_string('xadmin/blocks/comm.top.topnav.html', {'add_models': add_models}))
site.register_plugin(TopNavPlugin, SiteView)
开发者ID:wuyouzi,项目名称:DjangoX,代码行数:30,代码来源:topnav.py
示例14: return
left = self.model._mptt_meta.left_attr
return (tree_id, left)
def result_item(self, __, obj, field_name, row):
is_display = row['is_display_first']
item = __()
if is_display and not row['is_display_first']:
item.wraps.append(u'%s %%s' % ('---' * obj.get_level()))
return item
# Media
def get_media(self, media):
#media.add_css({'screen': [self.static('xadmin/css/aggregation.css'),]})
return media
site.register_plugin(MPTTListPlugin, ListAdminView)
class MPTTFormPlugin(BaseAdminPlugin):
def init_request(self, *args, **kwargs):
result = self.model and issubclass(self.model, MPTTModel)
if result:
self.admin_view.form = MPTTAdminForm
return result
def get_field_attrs(self, attrs, db_field, **kwargs):
from mptt.models import MPTTModel, TreeForeignKey
if db_field.rel and issubclass(db_field.rel.to, MPTTModel) \
and not isinstance(db_field, TreeForeignKey) \
and not db_field.name in self.raw_id_fields:
attrs.update(dict(form_class=TreeNodeChoiceField, queryset=db_field.rel.to.objects.all(), required=False))
开发者ID:sshwsfc,项目名称:django-mptt,代码行数:31,代码来源:adminx.py
示例15: __
return __()
return _method
def do_action(self, __, queryset):
return self.revision_context_manager.create_revision(manage_manually=False)(self.do_action_func(__))()
class ReversionAdmin(object):
model_icon = "exchange"
class VersionAdmin(object):
model_icon = "file"
site.register(Revision, ReversionAdmin)
site.register(Version, VersionAdmin)
site.register_modelview(r"^recover/$", RecoverListView, name="%s_%s_recoverlist")
site.register_modelview(r"^recover/([^/]+)/$", RecoverView, name="%s_%s_recover")
site.register_modelview(r"^([^/]+)/revision/$", RevisionListView, name="%s_%s_revisionlist")
site.register_modelview(r"^([^/]+)/revision/([^/]+)/$", RevisionView, name="%s_%s_revision")
site.register_plugin(ReversionPlugin, ListAdminView)
site.register_plugin(ReversionPlugin, ModelFormAdminView)
site.register_plugin(ReversionPlugin, DeleteAdminView)
site.register_plugin(InlineRevisionPlugin, InlineModelAdmin)
site.register_plugin(ActionRevisionPlugin, BaseActionView)
开发者ID:rzg,项目名称:django-xadmin,代码行数:30,代码来源:xversion.py
示例16: init_request
def init_request(self, *args, **kwargs):
return hasattr(self.admin_view, 'list_header_name_dict')
def result_header(self, item, field_name, row):
if field_name in self.admin_view.list_header_name_dict:
item.text = self.admin_view.list_header_name_dict[field_name]
return item
############################################################################################
# 注册插件
site.register_plugin(CreateAdminViewFormPlugin, CreateAdminView)
site.register_plugin(CreateAdminViewFormLayoutPlugin, CreateAdminView)
site.register_plugin(UpdateAdminViewFormPlugin, UpdateAdminView)
site.register_plugin(UpdateAdminViewFormLayoutPlugin, UpdateAdminView)
site.register_plugin(ListAdminViewQueryFormPlugin, ListAdminView)
site.register_plugin(CustomPaginationPlugin, ListAdminView)
site.register_plugin(ListHeaderNamePlugin, ListAdminView)
site.register_plugin(ExtraFormPlugin, ModelFormAdminView)
site.register_plugin(TitlePlugin, ModelAdminView)
开发者ID:michelia,项目名称:xadmin-util,代码行数:30,代码来源:plugins.py
示例17: lookup_field
for obj in self.result_list:
xf, attrs, value = lookup_field(self.x_field, obj, self)
for i, yfname in enumerate(self.y_fields):
yf, yattrs, yv = lookup_field(yfname, obj, self)
datas[i]["data"].append((value, yv))
option = {'series': {'lines': {'show': True}, 'points': {'show': False}},
'grid': {'hoverable': True, 'clickable': True}}
try:
xfield = self.opts.get_field(self.x_field)
if type(xfield) in (models.DateTimeField, models.DateField, models.TimeField):
option['xaxis'] = {'mode': "time", 'tickLength': 5}
if type(xfield) is models.DateField:
option['xaxis']['timeformat'] = "%y/%m/%d"
elif type(xfield) is models.TimeField:
option['xaxis']['timeformat'] = "%H:%M:%S"
else:
option['xaxis']['timeformat'] = "%y/%m/%d %H:%M:%S"
except Exception:
pass
option.update(self.chart.get('option', {}))
content = {'data': datas, 'option': option}
result = json.dumps(content, cls=JSONEncoder, ensure_ascii=False)
return HttpResponse(result)
site.register_plugin(ChartsPlugin, ListAdminView)
site.register_modelview(r'^chart/(.+)/$', ChartsView, name='%s_%s_chart')
开发者ID:116pythonZS,项目名称:imooc-django,代码行数:30,代码来源:chart.py
示例18: result_item
return active
def result_item(self, item, obj, field_name, row):
if self._current_layout == 'thumbnails':
if getattr(item.attr, 'is_column', True):
item.field_label = label_for_field(
field_name, self.model,
model_admin=self.admin_view,
return_attr=False
)
if getattr(item.attr, 'thumbnail_img', False):
setattr(item, 'thumbnail_hidden', True)
row['thumbnail_img'] = item
elif item.is_display_link:
setattr(item, 'thumbnail_hidden', True)
row['thumbnail_label'] = item
return item
# Block Views
def block_top_toolbar(self, context, nodes):
if len(self._active_layouts) > 1:
context.update({
'layouts': self._active_layouts,
'current_icon': self._current_icon,
})
nodes.append(loader.render_to_string('xadmin/blocks/model_list.top_toolbar.layouts.html', context=context))
site.register_plugin(GridLayoutPlugin, ListAdminView)
开发者ID:mahongquan,项目名称:xadmin_python3,代码行数:30,代码来源:layout.py
示例19: unicode
if not self.title:
self.title = unicode(bookmark)
req = self.make_get_request("", data.items())
self.list_view = self.get_view_class(
ListAdminView, model, list_per_page=10, list_editable=[])(req)
def has_perm(self):
return True
def context(self, context):
list_view = self.list_view
list_view.make_result_list()
base_fields = list_view.base_list_display
if len(base_fields) > 5:
base_fields = base_fields[0:5]
context['result_headers'] = [c for c in list_view.result_headers(
).cells if c.field_name in base_fields]
context['results'] = [[o for i, o in
enumerate(filter(lambda c:c.field_name in base_fields, r.cells))]
for r in list_view.results()]
context['result_count'] = list_view.result_count
context['page_url'] = self.bookmark.url
site.register(Bookmark, BookmarkAdmin)
site.register_plugin(BookmarkPlugin, ListAdminView)
site.register_modelview(r'^bookmark/$', BookmarkView, name='%s_%s_bookmark')
开发者ID:wuyouzi,项目名称:DjangoX,代码行数:29,代码来源:bookmark.py
示例20: get_step_index
return form_list.keyOrder[key]
return None
def get_step_index(self, step=None):
"""
Returns the index for the given `step` name. If no step is given,
the current step will be used to get the index.
"""
if step is None:
step = self.steps.current
return self.get_form_list().keyOrder.index(step)
def block_before_fieldsets(self, context, nodes):
context.update(dict(self.storage.extra_data))
context['wizard'] = {
'steps': self.steps,
'management_form': ManagementForm(prefix=self.prefix, initial={
'current_step': self.steps.current,
}),
}
nodes.append(loader.render_to_string('xadmin/blocks/model_form.before_fieldsets.wizard.html', context_instance=context))
def block_submit_line(self, context, nodes):
context.update(dict(self.storage.extra_data))
context['wizard'] = {
'steps': self.steps
}
nodes.append(loader.render_to_string('xadmin/blocks/model_form.submit_line.wizard.html', context_instance=context))
site.register_plugin(WizardFormPlugin, ModelFormAdminView)
开发者ID:A-T-X,项目名称:django-xadmin,代码行数:30,代码来源:wizard.py
注:本文中的xadmin.sites.site.register_plugin函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论