Пример #1
0
 def save(self, *args, **kwargs):
     appicons = CustomApp.objects.all()
     if self.view_mode == "use_app_icons" and not appicons:
         for app in list_apps():
             new_app = CustomApp(application=app[0],verbose_app_name=app[1])
             new_app.save()
     clean_cache(settings.UPYCACHE_DIR,"meta")
     super(CustomAdmin,self).save( *args, **kwargs)
Пример #2
0
 def save(self, *args, **kwargs):
     if not self.pk and self.position == 0:
         try:
             last = JsTreeStructurePosition.objects.select_related("js","tree_structure").all().order_by("position").reverse()[0]
             self.position = last.position + 1
         except:
             self.position = 0
     clean_cache(settings.UPYCACHE_DIR,"meta")
     super(JsTreeStructurePosition,self).save( *args, **kwargs)
Пример #3
0
 def save(self, *args, **kwargs):
     appicons = CustomApp.objects.all()
     if self.view_mode == "use_app_icons" and not appicons:
         for app in list_apps():
             new_app = CustomApp(application=app[0],
                                 verbose_app_name=app[1])
             new_app.save()
     clean_cache(settings.UPYCACHE_DIR, "meta")
     super(CustomAdmin, self).save(*args, **kwargs)
Пример #4
0
 def delete(self):
     clean_cache(settings.UPYCACHE_DIR,"meta")
     super(Js,self).delete()
Пример #5
0
 def save(self, *args, **kwargs):
     clean_cache(settings.UPYCACHE_DIR,"meta")
     super(Js,self).save( *args, **kwargs)
Пример #6
0
 def delete(self):
     clean_cache(settings.UPYCACHE_DIR,"meta")
     super(JsTreeStructurePosition,self).delete()
Пример #7
0
 def save(self, *args, **kwargs):
     clean_cache(settings.UPYCACHE_DIR, "meta")
     super(PublicationG11n, self).save(*args, **kwargs)
Пример #8
0
Файл: menu.py Проект: simone/upy
    def __do_menu(self,
                  menu_as,
                  current_linkable=False,
                  class_current="",
                  chars="",
                  before_1="",
                  after_1="",
                  before_all="",
                  after_all="",
                  render=True):
        """
        If there is a file in cache for current node's menu it returns this file, 
        else it calculates it and save file in cache
        """
        dict_cache = {
            'current_linkable': current_linkable,
            'class_current': class_current,
            'chars': chars,
            'before_1': before_1,
            'after_1': after_1,
            'before_all': before_all,
            'after_all': after_all,
            'menu_depth': self.menu_depth,
            'view_hidden': self.view_hidden,
            'g11n_depth': self.g11n_depth
        }
        str_groups = ""
        if self.request.user.__dict__:
            str_groups = ["%s" % g.pk for g in self.request.user.groups.all()]
            str_groups = "-%s" % "e".join(str_groups)
        else:
            str_groups = "-nouser"

        for filename in filter_files(
                settings.UPYCACHE_DIR, u"menu-%s-%s-%s%s-%s" %
            (self.root.pk, self.upy_context['NODE'].pk, menu_as, str_groups,
             self.request.LANGUAGE_CODE)):
            tempfile = open(u'%s%s' % (settings.UPYCACHE_DIR, filename))
            json = simplejson.loads(tempfile.read())
            if filename and compare_dicts(json, dict_cache):
                return mark_safe(json['menu'])
            else:
                clean_cache(settings.UPYCACHE_DIR, "menu")
                clean_cache(settings.UPYCACHE_DIR, "breadcrumb")

        nodes = self.root.get_descendants()
        if not settings.MULTI_DOMAIN and settings.MULTI_PUBLICATION:
            full_path = self.request.get_full_path()
            publication_url = "/%s" % full_path.split('/')[1]
        else:
            publication_url = ""
        list_nodes = []
        for node in nodes:
            if node.show_if_logged and self.request.user:
                if not node.groups.all():
                    node.hide_in_navigation = True
                else:
                    list_user_groups = str_groups.replace("-", "").split("e")
                    for grp in node.groups.all():
                        if "%s" % grp.pk not in list_user_groups:
                            node.hide_in_navigation = True

            try:
                node_g11n = node.g11n
            except:
                node_g11n = None
            else:
                if not node_g11n:
                    node.alias = node.name
                else:
                    node.alias = node_g11n.alias
            if node.page:
                if not node.value_regex:
                    node.url = "%s/%s%s/" % (publication_url, node.treeslug,
                                             node.page.slug)
                else:
                    node.url = "%s/%s%s/%s" % (publication_url, node.treeslug,
                                               node.page.slug,
                                               node.value_regex)
            else:
                node.url = None
            list_nodes.append(node)
        if not render:
            return list_nodes

        if self.menu_depth != 0:
            relative_depth = self.menu_depth + self.root.level
        else:
            relative_depth = 0

        menutpl = render_to_string('menu_%s.tpl.html' % menu_as, {
            'NODE': self.upy_context['NODE'],
            'nodes': list_nodes,
            'chars': chars,
            'current_linkable': current_linkable,
            'menu_depth': relative_depth,
            'class_current': class_current,
            'view_hidden': self.view_hidden,
            'before_1': before_1,
            'after_1': after_1,
            'before_all': before_all,
            'after_all': after_all,
        },
                                   context_instance=RequestContext(
                                       self.request))

        with open(
                u'%smenu-%s-%s-%s%s-%s-%s.json' %
            (settings.UPYCACHE_DIR, self.root.pk, self.upy_context['NODE'].pk,
             menu_as, str_groups, self.request.LANGUAGE_CODE, int(
                 time.time())), "w") as file_menu:
            dict_cache['menu'] = menutpl
            data = simplejson.dumps(dict_cache)
            file_menu.write(data)

        return menutpl
Пример #9
0
 def delete(self):
     clean_cache(settings.UPYCACHE_DIR,"menu")
     clean_cache(settings.UPYCACHE_DIR,"breadcrumb")
     super(NodeG11n,self).delete()
Пример #10
0
 def save(self, *args, **kwargs):
     clean_cache(settings.UPYCACHE_DIR,"menu")
     clean_cache(settings.UPYCACHE_DIR,"breadcrumb")
     super(NodeG11n,self).save( *args, **kwargs)
Пример #11
0
Файл: menu.py Проект: simone/upy
    def __do_menu(self, menu_as, current_linkable = False, class_current = "", 
                chars = "", before_1 = "", after_1 = "", before_all = "", 
                after_all = "", render = True):
        """
        If there is a file in cache for current node's menu it returns this file, 
        else it calculates it and save file in cache
        """
        dict_cache = {'current_linkable':current_linkable, 
                    'class_current':class_current, 
                    'chars':chars, 
                    'before_1':before_1, 
                    'after_1':after_1,
                    'before_all':before_all,
                    'after_all':after_all,
                    'menu_depth': self.menu_depth,
                    'view_hidden': self.view_hidden,
                    'g11n_depth': self.g11n_depth
                    }
        str_groups = ""
        if self.request.user.__dict__:
            str_groups = ["%s" % g.pk for g in self.request.user.groups.all()]
            str_groups = "-%s" % "e".join(str_groups)   
        else:
            str_groups = "-nouser"
        
        for filename in filter_files(settings.UPYCACHE_DIR,
                                    u"menu-%s-%s-%s%s-%s" % (self.root.pk,
                                                        self.upy_context['NODE'].pk,
                                                        menu_as,str_groups,
                                                        self.request.LANGUAGE_CODE)):
            tempfile = open(u'%s%s' % (settings.UPYCACHE_DIR,filename))
            json = simplejson.loads(tempfile.read())
            if filename and compare_dicts(json,dict_cache):
                return mark_safe(json['menu'])
            else:
                clean_cache(settings.UPYCACHE_DIR,"menu")
                clean_cache(settings.UPYCACHE_DIR,"breadcrumb")

        nodes = self.root.get_descendants()
        if not settings.MULTI_DOMAIN and settings.MULTI_PUBLICATION:
            full_path = self.request.get_full_path()
            publication_url = "/%s" % full_path.split('/')[1]
        else:
            publication_url = ""
        list_nodes = []
        for node in nodes:
            if node.show_if_logged and self.request.user:
                if not node.groups.all():
                    node.hide_in_navigation = True
                else:
                    list_user_groups = str_groups.replace("-","").split("e")
                    for grp in node.groups.all():
                        if "%s" % grp.pk not in list_user_groups:
                            node.hide_in_navigation = True
                    
            try:
                node_g11n = node.g11n
            except:
                node_g11n = None
            else:
                if not node_g11n:
                    node.alias = node.name
                else:
                    node.alias = node_g11n.alias
            if node.page:
                if not node.value_regex:
                    node.url = "%s/%s%s/" % (publication_url, node.treeslug, node.page.slug)
                else:
                    node.url = "%s/%s%s/%s" % (publication_url, node.treeslug, node.page.slug,node.value_regex)
            else:
                node.url = None
            list_nodes.append(node)
        if not render:
            return list_nodes
        
        if self.menu_depth != 0:
            relative_depth = self.menu_depth + self.root.level
        else:
            relative_depth = 0
        
        menutpl = render_to_string('menu_%s.tpl.html' % menu_as, 
                              {'NODE': self.upy_context['NODE'], 'nodes' : list_nodes, 'chars' : chars, 'current_linkable' : current_linkable,
                               'menu_depth' : relative_depth, 'class_current' : class_current,
                               'view_hidden' : self.view_hidden, 'before_1' : before_1,
                               'after_1' : after_1, 'before_all' : before_all, 'after_all' : after_all,
                               }, context_instance=RequestContext(self.request))

        
        with open(u'%smenu-%s-%s-%s%s-%s-%s.json' % (settings.UPYCACHE_DIR,self.root.pk,self.upy_context['NODE'].pk,menu_as,str_groups,self.request.LANGUAGE_CODE,int(time.time())),"w") as file_menu:
            dict_cache['menu'] = menutpl
            data = simplejson.dumps(dict_cache)
            file_menu.write(data)
            
        return menutpl
Пример #12
0
 def delete(self):
     clean_cache(settings.UPYCACHE_DIR,"meta")
     super(PublicationG11n,self).delete()
Пример #13
0
 def save(self, *args, **kwargs):
     clean_cache(settings.UPYCACHE_DIR,"meta")
     super(PublicationG11n,self).save( *args, **kwargs)
Пример #14
0
 def delete(self):
     if settings.MULTI_DOMAIN and not settings.MULTI_PUBLICATION:
         clean_cache(settings.UPYCACHE_DIR)
     super(Publication,self).delete()
Пример #15
0
 def delete(self):
     clean_cache(settings.UPYCACHE_DIR, "meta")
     super(CustomAdmin, self).delete()
Пример #16
0
 def save(self, *args, **kwargs):
     clean_cache(settings.UPYCACHE_DIR)
     super(PageG11n,self).save( *args, **kwargs)
Пример #17
0
 def delete(self):
     clean_cache(settings.UPYCACHE_DIR,"meta")
     super(CustomAdmin,self).delete()
Пример #18
0
 def delete(self):
     clean_cache(settings.UPYCACHE_DIR)
     super(PageG11n,self).delete()
Пример #19
0
 def delete(self):
     if settings.MULTI_DOMAIN and not settings.MULTI_PUBLICATION:
         clean_cache(settings.UPYCACHE_DIR)
     super(Publication, self).delete()
Пример #20
0
 def delete(self):
     clean_cache(settings.UPYCACHE_DIR,"meta")
     super(JsTemplatePosition,self).delete()
Пример #21
0
 def delete(self):
     clean_cache(settings.UPYCACHE_DIR, "meta")
     super(PublicationG11n, self).delete()
Пример #22
0
Файл: menu.py Проект: rohifa/upy
    def __do_menu(
        self,
        menu_as,
        current_linkable=False,
        class_current="",
        chars="",
        before_1="",
        after_1="",
        before_all="",
        after_all="",
        render=True,
    ):
        """
        If there is a file in cache for current node's menu it returns this file, 
        else it calculates it and save file in cache
        """
        dict_cache = {
            "current_linkable": current_linkable,
            "class_current": class_current,
            "chars": chars,
            "before_1": before_1,
            "after_1": after_1,
            "before_all": before_all,
            "after_all": after_all,
            "menu_depth": self.menu_depth,
            "view_hidden": self.view_hidden,
            "g11n_depth": self.g11n_depth,
        }
        str_groups = ""
        if self.request.user.__dict__:
            str_groups = ["%s" % g.pk for g in self.request.user.groups.all()]
            str_groups = "-%s" % "e".join(str_groups)
        else:
            str_groups = "-nouser"
        if settings.USE_UPY_CACHE:
            for filename in filter_files(
                settings.UPYCACHE_DIR,
                u"menu-%s-%s-%s%s-%s"
                % (self.root.pk, self.upy_context["NODE"].pk, menu_as, str_groups, self.request.LANGUAGE_CODE),
            ):
                tempfile = open(u"%s%s" % (settings.UPYCACHE_DIR, filename))
                json = simplejson.loads(tempfile.read())
                if filename and compare_dicts(json, dict_cache):
                    return mark_safe(json["menu"])
                else:
                    clean_cache(settings.UPYCACHE_DIR, "menu")
                    clean_cache(settings.UPYCACHE_DIR, "breadcrumb")

        nodes = self.root.get_descendants()
        list_nodes = []
        for node in nodes:
            if node.slugable:
                if node.show_if_logged and self.request.user:
                    if not node.groups.all():
                        node.hide_in_navigation = True
                    else:
                        list_user_groups = str_groups.replace("-", "").split("e")
                        for grp in node.groups.all():
                            if "%s" % grp.pk not in list_user_groups:
                                node.hide_in_navigation = True

                try:
                    node_g11n = node.g11n
                except:
                    node_g11n = None
                else:
                    if not node_g11n:
                        node.alias = node.name
                    else:
                        node.alias = node_g11n.alias
                if node.page:
                    node.url = node.slug
                else:
                    node.url = None
                list_nodes.append(node)
        if not render:
            return list_nodes

        if self.menu_depth != 0:
            relative_depth = self.menu_depth + self.root.level
        else:
            relative_depth = 0

        menutpl = render_to_string(
            "menu_%s.tpl.html" % menu_as,
            {
                "NODE": self.upy_context["NODE"],
                "nodes": list_nodes,
                "chars": chars,
                "current_linkable": current_linkable,
                "menu_depth": relative_depth,
                "class_current": class_current,
                "view_hidden": self.view_hidden,
                "before_1": before_1,
                "after_1": after_1,
                "before_all": before_all,
                "after_all": after_all,
            },
            context_instance=RequestContext(self.request),
        )

        if settings.USE_UPY_CACHE:
            with open(
                u"%smenu-%s-%s-%s%s-%s-%s.json"
                % (
                    settings.UPYCACHE_DIR,
                    self.root.pk,
                    self.upy_context["NODE"].pk,
                    menu_as,
                    str_groups,
                    self.request.LANGUAGE_CODE,
                    int(time.time()),
                ),
                "w",
            ) as file_menu:
                dict_cache["menu"] = menutpl
                data = simplejson.dumps(dict_cache)
                file_menu.write(data)

        return menutpl