def uploadfile(request): path = request.POST.get('path', None) if not path or path.strip() == '': parent = BaseObject.resolveID(request.session.get('main_object', None)) if not parent: parent = Page.objects.get(parent__isnull=True) else: from core.views import get_object_by_url parent = get_object_by_url(path) if (len(request.FILES)): for file in request.FILES.items(): if -1 == file[1].name.rfind('.'): return HttpResponseForbidden() (name, ext) = file[1].name.rsplit('.', 2) if not ext in ALLOWED_IMAGES: return HttpResponseForbidden() from django import forms meta_form = forms.models.modelform_factory(Photo, fields=('image', )) f = Photo(parent=parent, author=request.user.is_anonymous and parent.author or request.user) frm = meta_form({}, {'image': file[1]}, instance=f) if frm.is_valid(): frm.save() else: raise Exception("FRM IS NOT VALID") return HttpResponse("Готово.") else: return HttpResponse("Нет файлов для загрузки.")
def showdir(request): from time import mktime path = request.POST.get('path', None) if not path or path.strip() == '': parent = BaseObject.resolveID(request.session.get('main_object', None)) if not parent: parent = Page.objects.get(parent__isnull=True) else: from core.views import get_object_by_url parent = get_object_by_url(path) imgs = BaseObject.nodes(parents=[parent], types=['Photo']).all() ret = "" for r in imgs: try: ret += """<table class="imageBlock0" cellpadding="0" cellspacing="0" filename="%s" fname="%s" ext="%s" path="%s" linkto="%s" fsize="%d" date="%s" fwidth="%d" fheight="%d" md5="%s"> <tr><td valign="bottom" align="center"> <div class="imageBlock1"> <div class="imageImage"> <img src="%s" alt="%s" style="max-width:104px; max-height:116px;"/> </div> <div class="imageName">%s</div> </div> </td></tr></table>\n""" % (r.url(), r.url(), "jpg", r.url(), r.url(), r.image.size, r.date_modified.ctime(), r.image.width, r.image.height, r.id, r.thumb_url(), r.title, r.title) except: pass return HttpResponse(ret)
def uploadfile(request): path = request.POST.get('path', None) if not path or path.strip() == '': parent = BaseObject.resolveID(request.session.get('main_object', None)) if not parent: parent = Page.objects.get(parent__isnull=True) else: from core.views import get_object_by_url parent = get_object_by_url(path) if (len(request.FILES)): for file in request.FILES.items(): if -1 == file[1].name.rfind('.'): return HttpResponseForbidden() (name, ext) = file[1].name.rsplit('.', 2) if not ext in ALLOWED_IMAGES: return HttpResponseForbidden() from django import forms meta_form = forms.models.modelform_factory(Photo, fields = ('image',)) f = Photo(parent=parent, author = request.user.is_anonymous and parent.author or request.user) frm = meta_form({}, {'image':file[1]}, instance=f) if frm.is_valid(): frm.save() else: raise Exception("FRM IS NOT VALID") return HttpResponse( "Готово." ) else: return HttpResponse( "Нет файлов для загрузки." )
def showdir(request): from time import mktime path = request.POST.get('path', None) if not path or path.strip() == '': parent = BaseObject.resolveID(request.session.get('main_object', None)) if not parent: parent = Page.objects.get(parent__isnull=True) else: from core.views import get_object_by_url parent = get_object_by_url(path) imgs = BaseObject.nodes(parents=[parent], types=['Photo']).all() ret = "" for r in imgs: try: ret += """<table class="imageBlock0" cellpadding="0" cellspacing="0" filename="%s" fname="%s" ext="%s" path="%s" linkto="%s" fsize="%d" date="%s" fwidth="%d" fheight="%d" md5="%s"> <tr><td valign="bottom" align="center"> <div class="imageBlock1"> <div class="imageImage"> <img src="%s" alt="%s" style="max-width:104px; max-height:116px;"/> </div> <div class="imageName">%s</div> </div> </td></tr></table>\n""" % (r.url(), r.url(), "jpg", r.url(), r.url(), r.image.size, r.date_modified.ctime(), r.image.width, r.image.height, r.id, r.thumb_url(), r.title, r.title) except: pass return HttpResponse( ret )
def action(object, request): path_info = request.session['old_request']['path_info'] obj = get_object_by_url("/%s/" % path_info) return { 'title': obj.title, 'pid': path_info == '/' and "1793" or "/%s/" % path_info }
def page_include(page_url, parent_obj=None): if parent_obj: page_url = "%s%s"%(parent_obj.get_absolute_url(), page_url) try: obj = get_object_by_url(page_url) except: obj = None return {"obj": obj}
def plain_menu_navigation(object, request): object = request.main_object if object.config().has_key('menu_for_page'): from core.views import get_object_by_url object = get_object_by_url(object.config()['menu_for_page']) next_nodes = object.get_child_nodes_menu() if next_nodes: menu = next_nodes else: menu = object.parent and object.parent.get_child_nodes_menu() or [] return {'menu':menu, 'obj':object, 'orig_obj':request.main_object}
def active_dj(): root = get_object_by_url("/") cfg = root.config().get('active_dj_') avatar = '' name = '' if cfg: profile = User.objects.get(username=cfg) try: avatar = profile.get_profile().avatar.url() except: pass name = u"%s %s" % (profile.first_name, profile.last_name) return {'avatar': avatar, 'name': name}
def render(self, context): try: parent_obj = self.parent.resolve(context) if type(parent_obj)==SafeUnicode: parent_obj = get_object_by_url(parent_obj) tag = self.tag.resolve(context) context[self.var] = parent_obj.get_child_nodes(for_user=True, states=[u'опубликованный',u'на главной'], \ tags=[tag,], sort_field="-date_published") except template.VariableDoesNotExist: pass return ''
def active_dj(): root = get_object_by_url("/") cfg = root.config().get('active_dj_') avatar = '' name = '' if cfg: profile = User.objects.get(username=cfg) try: avatar = profile.get_profile().avatar.url() except: pass name = u"%s %s"%(profile.first_name, profile.last_name) return {'avatar': avatar, 'name': name}
def get_available_types(request): from core.views import get_object_by_url from django.contrib.auth.models import Permission from django.contrib.contenttypes.models import ContentType available_types = [] for type in REGISTRUM['workspace'].values(): obj = get_object_by_url(type['default_place']) content_type = ContentType.objects.get_for_model(REGISTRUM['types'][type['type']]['cls']) permission = Permission.objects.get(codename='insert', content_type=content_type) if has_access(request.user, permission, obj): available_types.append(type) return available_types
def process_view(self, request, view_func, view_args, view_kwargs): """ Метод вызывается перед исполнением view. """ from core.views import get_object_by_url from core.models import Alias from django.http import HttpResponseRedirect if view_func.__name__ is 'dispatcher': path = [x for x in view_kwargs['path_info'].split("/") if x] if path: res = Alias.objects.filter(url=path[0]) if res: view_kwargs['path_info'] = '%s%s' % (res[0].bid.get_absolute_url(),'/'.join(path[1:])) view_kwargs['redirect'] = True request.main_object = get_object_by_url(view_kwargs['path_info']) request.action = view_kwargs['action']
def process_view(self, request, view_func, view_args, view_kwargs): """ Метод вызывается перед исполнением view. """ from core.views import get_object_by_url from core.models import Alias from django.http import HttpResponseRedirect if view_func.__name__ is 'dispatcher': path = [x for x in view_kwargs['path_info'].split("/") if x] if path: res = Alias.objects.filter(url=path[0]) if res: view_kwargs['path_info'] = '%s%s' % ( res[0].bid.get_absolute_url(), '/'.join(path[1:])) view_kwargs['redirect'] = True request.main_object = get_object_by_url(view_kwargs['path_info']) request.action = view_kwargs['action']
def get_available_types(request): from core.views import get_object_by_url from django.contrib.auth.models import Permission from django.contrib.contenttypes.models import ContentType available_types = [] for type in REGISTRUM['workspace'].values(): obj = get_object_by_url(type['default_place']) content_type = ContentType.objects.get_for_model( REGISTRUM['types'][type['type']]['cls']) permission = Permission.objects.get(codename='insert', content_type=content_type) if has_access(request.user, permission, obj): available_types.append(type) return available_types
def action(object, request): try: title = unquote_plus(request.GET['title']) src = request.GET['src'] url = request.GET['url'] slug = request.GET['id'] except: raise Http403 if str(src) != "imib": raise Http403 text=u'''Полный текст новости расположен по ссылке: <a href="%s" target="blank">%s</a>'''%(url,url) p = News(parent=get_object_by_url("/news/university/"), title=u"%s"%title, description=u' ', text=text, author=User.objects.get(username="******"), slug=slug ) p.category = Category.objects.get(name=u"Новости ИМиБ") p.save() return p.get_absolute_url()
def parents(self, *args): """ Прозрачная функция - фильтр по предкам @return: NodeManager object @example: BaseObject.nodes().parents('/news/',953,'/inst/inig/').all() """ res = [] for x in args: if type(x) == int: from core.models import BaseObject res.append(BaseObject.objects.get(id=x)) elif type(x) in [str, unicode]: from core.views import get_object_by_url res.append(get_object_by_url(x)) elif hasattr(x, 'id'): res.append(x) if self.is_cascade: res = self._get_childs_cascade(res, []) else: res = [x.id for x in res] self.query_set = self.query_set.filter(parent__in=res) return self
def parents(self, *args): """ Прозрачная функция - фильтр по предкам @return: NodeManager object @example: BaseObject.nodes().parents('/news/',953,'/inst/inig/').all() """ res = [] for x in args: if type(x) == int: from core.models import BaseObject res.append(BaseObject.objects.get(id=x)) elif type(x) in [str,unicode]: from core.views import get_object_by_url res.append(get_object_by_url(x)) elif hasattr(x, 'id'): res.append(x) if self.is_cascade: res = self._get_childs_cascade(res, []) else: res = [x.id for x in res] self.query_set = self.query_set.filter(parent__in=res) return self
def action(object, request): try: title = unquote_plus(request.GET['title']) src = request.GET['src'] url = request.GET['url'] slug = request.GET['id'] except: raise Http403 if str(src) != "imib": raise Http403 text = u'''Полный текст новости расположен по ссылке: <a href="%s" target="blank">%s</a>''' % ( url, url) p = News(parent=get_object_by_url("/news/university/"), title=u"%s" % title, description=u' ', text=text, author=User.objects.get(username="******"), slug=slug) p.category = Category.objects.get(name=u"Новости ИМиБ") p.save() return p.get_absolute_url()
def action(object, request): path_info = request.session['old_request']['path_info'] obj = get_object_by_url ( "/%s/"%path_info ) return { 'title': obj.title, 'pid': path_info == '/' and "1793" or "/%s/"%path_info }
def get_object(self, bits): return get_object_by_url("/".join(bits))