Пример #1
0
    def get_data(self, lang, site):
        self.language = lang
        self.fetch_options()
        self.fetch_menu()
        self.fetch_menu_items()

        self.treemenuitems = self.get_items_as_tree()

        newitems = []
        for item in self.menuitems:
            if item.parent is not None:
                newitems.append(item)
        self.menuitems = newitems

        safemenuitems = []
        if self.menuitems is not None:
            for item in self.menuitems:
                if self.permissions is not None:
                    self.permissions.permissions = None
                err = 0
                if item is not None:

                    item.get_language(lang.id)
                    item.module_model = get_module_options_model(
                        item.registered_module.id)

                    if self.permissions is not None:
                        self.permissions.prepare_permissions(item.permissions)
                        self.permissions.compare_permissions(
                            item, item.__class__.__name__, False)

                    options = None
                    try:
                        options = item.module_model.__class__.objects.filter(
                            menuitem=item)
                        if len(options) > 0:
                            options = options[0]
                        else:
                            options = None
                    except Exception, e:
                        err = 1
                        options = None
                        self.debugger.catch_error('get_data: ', e)

                    if options is not None:
                        item.options = options
                        try:
                            item.slug = item.options.get_slug(lang.id)
                            item.url_prefix = item.options.get_url_prefix()
                            item.object_id = item.options.get_object_id()
                            item.registered_module = item.options.registered_module
                        except Exception, e:
                            err = 1
                            self.debugger.catch_error('get_data: ', e)
                    else:
                        err = 1
                if err == 0:
                    if self.permissions is not None:
                        if self.permissions.permissions['public'] is True:
                            safemenuitems.append(item)
Пример #2
0
    def get_data(self, lang, site):
        self.language = lang
        self.fetch_options()
        self.fetch_menu()
        self.fetch_menu_items()

        self.treemenuitems = self.get_items_as_tree()

        newitems = []
        for item in self.menuitems:
            if item.parent is not None:
                newitems.append(item)
        self.menuitems = newitems

        safemenuitems = []
        if self.menuitems is not None:
            for item in self.menuitems:
                if self.permissions is not None:
                    self.permissions.permissions = None
                err = 0
                if item is not None:

                    item.get_language(lang.id)
                    item.module_model = get_module_options_model(item.registered_module.id)

                    if self.permissions is not None:
                        self.permissions.prepare_permissions(item.permissions)
                        self.permissions.compare_permissions(item, item.__class__.__name__, False)

                    options = None
                    try:
                        options = item.module_model.__class__.objects.filter(menuitem=item)
                        if len(options) > 0:
                            options = options[0]
                        else:
                            options = None
                    except Exception, e:
                        err = 1
                        options = None
                        self.debugger.catch_error('get_data: ', e)

                    if options is not None:
                        item.options = options
                        try:
                            item.slug = item.options.get_slug(lang.id)
                            item.url_prefix = item.options.get_url_prefix()
                            item.object_id = item.options.get_object_id()
                            item.registered_module = item.options.registered_module
                        except Exception, e:
                            err = 1
                            self.debugger.catch_error('get_data: ', e)
                    else:
                        err = 1
                if err == 0:
                    if self.permissions is not None:
                        if self.permissions.permissions['public'] is True:
                            safemenuitems.append(item)
Пример #3
0
    def prepare_menu(self, item, lang):
        safemenuitems = []
        err = 0
        if item.menu is not None:
            item.menu.get_language(lang.id)
            item.menu.menuitems = self.get_menu_items(item.menu)
            err = 0
            for it in item.menu.menuitems:
                err = 0
                it.get_language(lang.id)

                it.module_model = get_module_options_model(
                    it.registered_module.id)
                try:
                    options = it.module_model.__class__.objects.filter(
                        menuitem=it)
                    if len(options) > 0:
                        options = options[0]
                    else:
                        options = None
                except Exception, e:
                    err = 1
                    options = None
                    self.debugger.catch_error('prepare_menu: ', e)

                if options is not None:
                    try:
                        it.options = options
                        it.slug = it.options.get_slug(lang.id)
                        it.url_prefix = it.options.get_url_prefix()
                        it.object_id = it.options.get_object_id()
                        it.registered_module_id = it.options.registered_module.id
                    except Exception, e:
                        self.debugger.catch_error('prepare_menu: ', e)
                        err = 1
                else:
                    err = 1
                if err == 0:
                    safemenuitems.append(it)
Пример #4
0
    def prepare_menu(self, item, lang):
        safemenuitems = []
        err = 0
        if item.menu is not None:
            item.menu.get_language(lang.id)
            item.menu.menuitems = self.get_menu_items(item.menu)
            err = 0
            for it in item.menu.menuitems:
                err = 0
                it.get_language(lang.id)

                it.module_model = get_module_options_model(it.registered_module.id)
                try:
                    options = it.module_model.__class__.objects.filter(menuitem=it)
                    if len(options) > 0:
                        options = options[0]
                    else:
                        options = None
                except Exception, e:
                    err = 1
                    options = None
                    self.debugger.catch_error("prepare_menu: ", e)

                if options is not None:
                    try:
                        it.options = options
                        it.slug = it.options.get_slug(lang.id)
                        it.url_prefix = it.options.get_url_prefix()
                        it.object_id = it.options.get_object_id()
                        it.registered_module_id = it.options.registered_module.id
                    except Exception, e:
                        self.debugger.catch_error("prepare_menu: ", e)
                        err = 1
                else:
                    err = 1
                if err == 0:
                    safemenuitems.append(it)