def fill_default(sender=None, instance=None, created=False, **kwargs): try: from current_user import get_current_user, get_request import datetime if hasattr(instance, 'owner'): if not instance.owner: u = get_current_user() if u and u.is_authenticated(): instance.owner = u if hasattr(instance, 'owner_ip'): if not instance.owner_ip: request = get_request() instance.owner_ip = request.META['REMOTE_ADDR'] if hasattr(instance, 'created_on'): if not instance.created_on: instance.created_on = datetime.datetime.now() if hasattr(instance, 'updater'): u = get_current_user() if u and u.is_authenticated(): instance.updater = u if hasattr(instance, 'updated_on'): instance.updated_on = datetime.datetime.now() except: pass
def render(self, request): try: from django.template import Context, loader try: from current_user import get_current_user if self.Meta.required_login: if not get_current_user().is_authenticated(): return "" except AttributeError: pass self.storage.push() try: self.storage['context'] = dict([ (k, getattr(self, k, v)) for k,v in self.context.items() ]) self.storage['widget'] = self d = self.html(request) if isinstance(d, basestring): t = Template(d) else: t = loader.get_template(self.Meta.template) self.storage.update(d) return t.render(Context(self.storage)) finally: self.storage.pop() except: if settings.TEMPLATE_DEBUG: import traceback traceback.print_exc() return ''
def render(self, context): from current_user import get_current_user user = get_current_user() if hasattr(user, '__templatejs__'): js = user.__templatejs__ return "\n".join(js) return ''
def render(self, context): from current_user import get_current_user user = get_current_user() if not hasattr(user, '__templatejs__'): user.__templatejs__ = [] out = self.nodelist.render(context) user.__templatejs__.append(out.strip()) return ''
def setentity(parser, token): try: bits = token.contents.split() if len(bits) != 2: raise TemplateSyntaxError, "%s tag takes exactly one arguments" % bits[0] entity_name = bits[1] user = get_current_user() user.entity_name = entity_name return PageNode() except: pass
def render(self, context): if '_list_containers' in context: context['_list_containers'].append(self.container_name) return '' if '__layout__' not in context: user = get_current_user() if hasattr(user, 'custom_page_layout_name'): t = [] for x in user.custom_page_layout_name: if x.startswith('='): x = Variable(x[1:]).resolve(context) t.append(x) user.custom_page_layout_name = t layout = None for x in t: try: layout = Layout.objects.get(slug=x) break except: pass if not layout: layout = Layout.get(t[-1]) if not layout: layout = Layout.get('base') if layout: context['__layout__'] = layout if '__layout__' not in context: return '' if 'entity' not in context: user = get_current_user() if hasattr(user, 'entity_name'): entity = Variable(user.entity_name).resolve(context) context['entity'] = entity layout = context.get('__layout__') entity = context.get('entity') return layout.render_container(entity, self.container_name, context)
def page(parser, token): try: bits = token.contents.split() if len(bits) != 2: raise TemplateSyntaxError, "%s tag takes exactly one arguments" % bits[0] page_name = bits[1] user = get_current_user() if not hasattr(user, 'custom_page_layout_name'): user.custom_page_layout_name = [] user.custom_page_layout_name.append(page_name) return PageNode() except: pass
def can(self): app = self.__class__._meta.app_label module = self.__class__._meta.module_name action = can_something.__name__[4:] if '_' in action: x = '%s.%s' % (app, action) else: x = '%s.%s_%s' % (app, action, module) user = get_current_user() if user.has_perm("%s.%s" % (app,x)): return True if user.is_authenticated(): if hasattr(self, 'owner'): if user == self.owner: return True return can_something(self)