Ejemplo n.º 1
0
    def app_mond_index(self, request, extra_context=None):
        #user = request.user
        app_label = 'Module'
        user = get_user(request)
        print >> sys.stdout,request.path
        has_module_perms = user.has_module_perms(app_label)
        app_dict = {}
        #self._registry = admin.site._registry
        for model, model_admin in self._registry.items():
            if app_label == model._meta.app_label:
                if has_module_perms:
                    perms = model_admin.get_model_perms(request)

                    # Check whether user has any perm for this module.
                    # If so, add the module to the model_list.
                    if True in perms.values():
                        info = (app_label, model._meta.module_name)
                        model_dict = {
                            'name': capfirst(model._meta.verbose_name_plural),
                            'perms': perms,
                        }
                        if perms.get('change', False):
                            try:
                                model_dict['admin_url'] = reverse('customer_admin:%s_%s_changelist' % info, current_app=self.name)
                            except NoReverseMatch:
                                pass
                        if perms.get('add', False):
                            try:
                                model_dict['add_url'] = reverse('customer_admin:%s_%s_add' % info, current_app=self.name)
                            except NoReverseMatch:
                                pass
                        if app_dict:
                            app_dict['models'].append(model_dict),
                        else:
                            # First time around, now that we know there's
                            # something to display, add in the necessary meta
                            # information.
                            app_dict = {
                                'name': app_label.title(),
                                'app_url': '',
                                'has_module_perms': True,
                                'models': [model_dict],
                            }
        if not app_dict:
            raise Http404('The requested admin page does not exist.')
        # Sort the models alphabetically within each app.
        app_dict['models'].sort(key=lambda x: x['name'])
        context = {
            'title': _('%s administration') % capfirst(app_label),
            'app_list': [app_dict],
        }
        extra_context = dict()
        extra_context['profile'] = get_user(request).get_profile();
        
        context.update(extra_context or {})

        return TemplateResponse(request, self.app_index_template or [
            'customer_login/change_form.html' ,
            #'customer_login/app_index.html'
        ], context, current_app=self.name)
Ejemplo n.º 2
0
    def app_index(self, request, app_label, extra_context=None):
        #user = request.user
        user = get_user(request)
        permission_set = user.get_all_permissions()
        app_dict = {}
        #self._registry = admin.site._registry
        from Components.models import UserModules
        for module in UserModules.objects.filter(module_name=app_label):
            app_label = module.module_name
            
            has_module_perms = user.has_module_perms(app_label)
            if has_module_perms:
                perms = module.get_model_perms(module=module.pk)

                    # Check whether user has any perm for this module.
                    # If so, add the module to the model_list.
                app_dict = {
                    'name': app_label.title(),
                    'app_url': '',
                    'has_module_perms': has_module_perms,
                    'models': [],
                }
               
                for prm in perms:
                    if "%s.%s" % (app_label,prm) in permission_set:
                        model_dict = {
                            'name': capfirst(prm),
                                #'app_url': reverse('customer_admin:%s/%s' % (app_label,prm), kwargs={'app_label': app_label}, current_app=prm),
                        }
                        model_dict['admin_url'] = ('/home/%s/%s' % (app_label,prm))
                        try:
                            model_dict['admin_url'] = reverse('customer_admin:%s/%s' % (app_label,prm),urlconf=None, kwargs={'app_label': app_label}, current_app=self.name)
                        except NoReverseMatch:
                            pass

                        #print >> sys.stdout,model_dict.name
                        app_dict['models'].append(model_dict)

        

        if not app_dict:
            raise Http404('The requested admin page does not exist.')
                # Sort the models alphabetically within each app.
        app_dict['models'].sort(key=lambda x: x['name'])
        context = {
            'title': _('%s administration') % capfirst(app_label),
            'app_list': [app_dict],
        }
        extra_context = dict()
        extra_context['profile'] = get_user(request).get_profile();
        
        context.update(extra_context or {})

        return TemplateResponse(request, self.app_index_template or [
            'customer_login/%s/app_index.html' % app_label,
            'customer_login/app_index.html'
        ], context, current_app=self.name)
Ejemplo n.º 3
0
    def app_mod_index(self, request, app_label,action, extra_context=None):
        #user = request.user
        user = get_user(request)
        permission_set = user.get_all_permissions()
        if "%s.%s" % (app_label,action) in permission_set:
  
            app_dict = {}

            app_dict = {
                'name': app_label.title(),
                'app_url': '',
                'has_module_perms': True,
                'models': [],
            }
               
            model_dict = {
                'name': capfirst(action),
                #'app_url': reverse('customer_admin:%s/%s' % (app_label,prm), kwargs={'app_label': app_label}, current_app=prm),
            }
            model_dict['admin_url'] = ('/home/%s/%s' % (app_label,action))
            try:
                model_dict['admin_url'] = reverse('customer_admin:%s/%s' % (app_label,action),urlconf=None, kwargs={'app_label': app_label}, current_app=self.name)
            except NoReverseMatch:
                pass

                            #print >> sys.stdout,model_dict.name
            app_dict['models'].append(model_dict)

        

            if not app_dict:
                raise Http404('The requested admin page does not exist.')
                # Sort the models alphabetically within each app.
            app_dict['models'].sort(key=lambda x: x['name'])
            context = {
                'title': _('%s administration') % capfirst(app_label),
                'app_list': [app_dict],
            }
            extra_context = dict()
            extra_context['profile'] = get_user(request).get_profile();
        
            context.update(extra_context or {})

            return TemplateResponse(request, self.app_index_template or [
                #'customer_login/%s/app_index.html' % app_label,
                'customer_login/change_form.html' ,
                #'customer_login/app_index.html',
            ], context, current_app=self.name)
        else:
            raise Http404('!!!permission denied!!!')
Ejemplo n.º 4
0
    def app_mod_index(self, request, app_label,action,object_id=None, extra_context=None):
        #user = request.user
        user = get_user(request)
        permission_set = user.get_all_permissions()



        if not get_country_from_url(request.get_full_path()).lower() == user.country.iso_code.lower():
            context = {
                'error':'You cannot access other market information',
                'home_url': '/%s/' % (user.country.iso_code)
            }
            return error_template('403',request=request,context=context,label='error')
            #raise Unauthorized("Permission denied")
        
        else:
            if "%s.%s" % (app_label,action) in permission_set:
              
                context = {
                    'title': _('%s administration') % capfirst(app_label),
                    'add' : True,
                    'submit_row' : True,
                    'uid': '69c2bcfd-4bab-43ac-a746-e456bf096a36',
                    'maxfilesize': '16777216',
                    'minfilesize': '1024',
                    'open_tv': u'{{',
                    'close_tv': u'}}',
                    }
                
                extra_context = dict()
                extra_context['home_url'] = '/%s/' % (user.country.iso_code)
                extra_context['profile'] = get_user(request).get_profile();
                extra_context['action'] = action.lower();
                extra_context['object_id'] = object_id;
                extra_context['path'] = request.path;
                #print >> sys.stdout,action
                extra_context['modules'] = get_accessble_modules(request,sel_mod=app_label,sel_action=action)
                context.update(extra_context or {})

                return TemplateResponse(request, self.app_index_template or [
                    'base_templates/%s/%s.html' % (app_label,action),
                    #'customer_login/change_form.html' ,
                    'base_templates/app_index.html',
                ], context, current_app=self.name)
            else:
                context = {
                    'error':'Permission denied',
                    'home_url': '/%s/' % (user.country.iso_code)
                }
                return error_template('403',request=request,context=context,label='error')
 def is_authorized(self, request,perm):
     user = get_user(request)
     permission_set = user.get_all_permissions()
     if "%s" % (perm) in permission_set:
         return True
     else:
         return False
Ejemplo n.º 6
0
 def get_object_list(self, request):
     User = get_user(request)
     if self.Meta.authorization.is_authorized(request,'Extended.Edit'):
         user_inputs = (super(GalleryPresetDetail, self).get_object_list(request).filter(pk=request.GET['gid']))
         return user_inputs
     else:
         raise Unauthorized("Permission denied")    
Ejemplo n.º 7
0
    def index(self, request, extra_context=None):
        """
        Displays the main admin index page, which lists all of the installed
        apps that have been registered in this site.
        """
        #user = request.user
        user = get_user(request)

        if not get_country_from_url(request.get_full_path()).lower() == user.country.iso_code.lower():
            context = {
                'error':'You cannot access other market information',
                'home_url': '/%s/' % (user.country.iso_code)
            }
            return error_template('403',request=request,context=context,label='error')
            #return TemplateResponse(request, 'base_templates/403.html', context = {'error':'Permission denied'}, current_app=None)
            #raise Unauthorized("Permission denied")
        else:
            context = {
                'title': "Catalogue administartion",
                
            }

            extra_context = dict()
            extra_context['home_url'] = '/%s/' % (user.country.iso_code)
            extra_context['profile'] = user.get_profile();
            extra_context['modules'] = get_accessble_modules(request,sel_mod='',sel_action='')
            #print >> sys.stdout, extra_context['modules']
            #print >> sys.stdout, 'edit' in [x.lower() for x in modules['users']['models']]
            #context.url ='/US/'
            context.update(extra_context or {})
            return TemplateResponse(request, [
                self.index_template or 'base_templates/index.html',
            ], context, current_app=self.name,)
Ejemplo n.º 8
0
 def has_permission(self, request):
     """
     Returns True if the given HttpRequest has permission to view
     *at least one* page in the admin site.
     """
     user = get_user(request);
     return user.is_active 
Ejemplo n.º 9
0
    def password_change(self, request):
        """
        Handles the "change password" task -- both form display and validation.
        """
        from UserManagement.views import password_change
        user = get_user(request)
        country = get_country_from_url(request.get_full_path())
        url = '/%s/' % (country)
        extra_context = {
            'country' : '%s' % (country),
            'home_url' : url
        }
        extra_context['profile'] = user.get_profile();
        extra_context['modules'] = get_accessble_modules(request,sel_mod='Users',sel_action='')
        
        defaults = {
            'current_app': self.name,
            'extra_context' : extra_context,
            'post_change_redirect': url + 'password_change/done/'
        }
        #import pdb
        #pdb.set_trace()

        if self.password_change_template is not None:
            defaults['template_name'] = self.password_change_template
        return password_change(request, **defaults)
Ejemplo n.º 10
0
    def get_object_list(self, request):
        #if self.Meta.authorization.is_authorized(request,'Users.Create') or  self.Meta.authorization.is_authorized(request,'Users.List'):
        LUSER = get_user(request)
        if self.Meta.authorization.is_authorized_collection(request=request,permission=['Users.Create','Users.List','Users.Edit'],atleast_one=True):
            
            from django.db.models import Q
            try:
                if not LUSER.is_superuser:
                    return super(CRUDUser, self).get_object_list(request).filter(country=LUSER.country).filter(groups=request.GET['gid']).filter(is_active=True).filter(~Q(pk=LUSER.id)).filter(~Q(groups=1))
                else:
                    return super(CRUDUser, self).get_object_list(request).filter(country=LUSER.country).filter(groups=request.GET['gid']).filter(~Q(pk=LUSER.id)).filter(~Q(groups=1))
            except:
                if not LUSER.is_superuser:
                    return super(CRUDUser, self).get_object_list(request).filter(country=LUSER.country).filter(is_active=True).filter(~Q(pk=LUSER.id)).filter(~Q(groups=1))
                else:
                    return super(CRUDUser, self).get_object_list(request).filter(country=LUSER.country).filter(~Q(pk=LUSER.id)).filter(~Q(groups=1))

                
                
        else:
            #raise Unauthorized("Permission denied")    
            errors = {'error':['Permission denied']}
            options = {
                'R':request,
                'A':"/Users/User/Update/Access violation(user list)/",
                'U':LUSER,
                'L_T':'app',
                'E':errors,
                'C':401,
            }
            handle_errors(options)                    
Ejemplo n.º 11
0
 def hydrate_m2m(self,bundle):
     User = get_user(bundle.request)
     #print >> sys.stdout,bundle.obj.countries
     try :
         country = WorldCountries.objects.get(country_name=User.country)
         bundle.obj.countries.add(country)
         #bundle.data.countries.add(country)
     except:
         pass
Ejemplo n.º 12
0
 def dehydrate(self, bundle): 
     bundle = super(CRUDUser,self).dehydrate(bundle)
     LUSER = get_user(bundle.request)
     if not LUSER.is_superuser: 
         del bundle.data['is_superuser']
         del bundle.data['is_active']
     bundle.data['groups'] = bundle.data['groups'].replace('/api/v1/groups/limit/','').replace('/','')
     del bundle.data['country']
     return bundle 
Ejemplo n.º 13
0
def homepage(request):
    User = get_user(request)
    if User.is_authenticated():
        from django.shortcuts import redirect

        return HttpResponseRedirect("/%s/" % User.country.iso_code)
    context = {}
    from Countries.models import WorldCountries
    from django.db.models import Q

    context["countries"] = WorldCountries.objects.filter(~Q(pk=1000))
    # context['form']=AuthenticationForm
    return TemplateResponse(request, "base_templates/home_page.html", context)
Ejemplo n.º 14
0
 def get_object_list(self, request):
     if self.Meta.authorization.is_authorized(request,'Groups.Create'):
         return super(Permissions, self).get_object_list(request)
     else:
         errors = {'error':['Permission denied']}
         options = {
             'R':request,
             'A':"/Users/Permission/list/Permission denied/",
             'U':get_user(request),
             'L_T':'app',
             'E':errors,
             'C':401,
         }
         handle_errors(options)
Ejemplo n.º 15
0
 def get_object_list(self, request):
     User = get_user(request)
     if self.Meta.authorization.is_authorized(request,'Groups.Create'):
         gid = None
         try:
             gid = request.GET['gid']
         except:
             pass
         if gid is not None:
             return super(GroupsList, self).get_object_list(request).filter(countries=User.country).filter(pk=gid)
         else:
             return super(GroupsList, self).get_object_list(request).filter(countries=User.country)
     else:
         raise Unauthorized("Permission denied")    
Ejemplo n.º 16
0
        def _wrapped_view(request, *args, **kwargs):
            if test_func(get_user(request)):
                return view_func(request, *args, **kwargs)
            path = request.build_absolute_uri()
            # If the login url is the same scheme and net location then just
            # use the path as the "next" url.
            login_scheme, login_netloc = urlparse.urlparse(login_url or settings.LOGIN_URL)[:2]
            current_scheme, current_netloc = urlparse.urlparse(path)[:2]
            if (not login_scheme or login_scheme == current_scheme) and (
                not login_netloc or login_netloc == current_netloc
            ):
                path = request.get_full_path()
            from UserManagement.views import redirect_to_login

            return redirect_to_login(path, login_url, redirect_field_name)
Ejemplo n.º 17
0
    def alter_detail_data_to_serialize(self, request, data):
        data.data['all_permission'] = {'modules':[]}
        User = get_user(request)
        Groups ={}
        if User.is_superuser:
            Groups  = UserGroups.objects.get(pk=1)
        else:
            Groups  = UserGroups.objects.get(pk=User.groups.pk)
        for module in Groups.modules.all():
            data.data['all_permission']['modules'].append({'name':module,'privilege_id':module.privilege_id,'module':module.module.pk,'friendly_name':module.friendly_name}) 
        data.data['all_modules'] = []
        for module in UserModules.objects.filter(is_active=True):
            data.data['all_modules'].append({'name':module,'id':module.id})

        return data
Ejemplo n.º 18
0
 def get_object_list(self, request):
     User = get_user(request)
     if self.Meta.authorization.is_authorized_collection(request=request,permission=['Groups.Create','Groups.Edit'],atleast_one=True):
         return super(CRUDGroup, self).get_object_list(request).filter(countries=User.country)
     else:
         #raise Unauthorized("Permission denied")    
         errors = {'error':['Permission denied']}
         options = {
             'R':request,
             'A':"/Users/Groups/Permission/Access violation/",
             'U':User,
             'L_T':'app',
             'E':errors,
             'C':401,
         }
         handle_errors(options)                    
Ejemplo n.º 19
0
def get_accessble_modules(request,sel_mod='',sel_action=''):
    #print >> sys.stdout,sel_mod
    user = get_user(request)
    country = user.country.iso_code
    modules = {'mod':[],'selected':[],'menus':[]}
    from Components.models import UserModules,UserPrivileges,UserActions
    for s in user.get_all_permissions():
        modules['perm_'+s.replace('.','_').lower()]={'opt':['true']}
    for module in UserModules.objects.all():
        app_label = module.module_name
        permission_set = user.get_all_permissions()
        has_module_perms = user.has_module_perms(app_label)
        
        if has_module_perms:

            groups = ''
            if module.groups.title().lower() == "none":
                groups = ''
            else:
                groups = '%s/' % module.groups.title()

            selected = False
            if sel_mod.lower() == app_label.lower():
                modules['mod'].append({'name':app_label,'url':'/%s/%s%s/' % (country,groups,app_label),'sel':'active'})
                selected = True
                modules['selected'].append({'name':app_label,'url':'/%s/%s%s/' % (country,groups,app_label),'options':[]})
            else:
                modules['mod'].append({'name':app_label,'url':'/%s/%s%s/' % (country,groups,app_label),'sel':''})

            perms = module.get_model_perms(module=module.pk)
            for prm in perms:
                if UserPrivileges.objects.filter(module=module).filter(action=UserActions.objects.filter(action_name=prm))[0].show_as_link:
                    if "%s.%s" % (app_label,prm) in permission_set:
                        modules[app_label.lower()]={'opt':[]}
                        modules[app_label.lower()+'_'+prm.lower()]={'opt':[]}
                        modules[app_label.lower()]['opt'].append('/%s/%s%s/' % (country,groups,app_label))
                        modules[app_label.lower()+'_'+prm.lower()]['opt'].append('/%s/%s%s/%s' % (country,groups,app_label,prm))
                        if selected:
                            #print >> sys.stdout,prm
                            if prm.lower() == sel_action.lower():
                                modules['selected'][0]['options'].append({'name':prm,'url':'/%s/%s%s/%s' % (country,groups,app_label,prm),'sel':'active'})
                            else:
                                modules['selected'][0]['options'].append({'name':prm,'url':'/%s/%s%s/%s' % (country,groups,app_label,prm),'sel':''})

    #print >> sys.stdout,modules
    return modules
Ejemplo n.º 20
0
def after_login(
    request,
    template_name="base_templates/login.html",
    redirect_field_name=REDIRECT_FIELD_NAME,
    authentication_form=PasswordResetForm,
    current_app=None,
    extra_context=None,
):
    """
    Displays the login form and handles the login action.
    """
    redirect_to = request.REQUEST.get(redirect_field_name, "./")

    if request.method == "POST":
        form = authentication_form(data=request.POST)
        if form.is_valid():
            # Ensure the user-originating redirection url is safe.
            if not is_safe_url(url=redirect_to, host=request.get_host()):
                redirect_to = settings.LOGIN_REDIRECT_URL

            # Okay, security check complete. Log the user in.
            auth_login(request, form.get_user())

            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()

            return HttpResponseRedirect(redirect_to)
    else:
        form = authentication_form(request)

    request.session.set_test_cookie()

    current_site = get_current_site(request)

    context = {"form": form, redirect_field_name: redirect_to, "site": current_site, "site_name": current_site.name}
    extra_context = dict()
    extra_context["profile"] = get_user(request).get_profile()

    # import pdb
    # pdb.set_trace()
    # print >> sys.stdout,context

    if extra_context is not None:
        context.update(extra_context)
    return TemplateResponse(request, template_name, context, current_app=current_app)
Ejemplo n.º 21
0
    def hydrate_m2m(self,bundle):
        User = get_user(bundle.request)
        try :
            country = WorldCountries.objects.get(country_name=User.country)
            bundle.obj.countries.add(country)
            bundle.obj.owner = country.pk
        except:
            pass
        try:

            
            Groups ={}
            if User.is_superuser:
                Groups  = UserGroups.objects.get(pk=1)
            else:
                Groups  = UserGroups.objects.get(pk=User.groups.pk)
            selected_module = bundle.request.POST['modules'].split(',')

            for mod in UserPrivileges.objects.all():
                bundle.obj.modules.remove(mod)

            for mod in Groups.modules.all():
                try:
                    if str(mod.privilege_id) in selected_module:
                        bundle.obj.modules.add(mod)
                        #bundle.obj.modules.add(mod)
                except:
                    pass
                
        except:
            pass

        try:

            for mod in Categories.objects.all():
                bundle.obj.category.remove(mod)
            for mod in bundle.request.POST['categories'].split(','):
                try:
                    # need to add country specifyc category check
                    bundle.obj.category.add(Categories.objects.get(pk=mod))
                except:
                    pass
        except:
            pass
Ejemplo n.º 22
0
    def password_change_done(self, request, extra_context=None):
        """
        Displays the "success" page after a password change.
        """
        from UserManagement.views import password_change_done
        user = get_user(request)
        extra_context = {
            'home_url' : '/%s/' % ( get_country_from_url(request.get_full_path())),
        }
        extra_context['profile'] = user.get_profile();
        extra_context['modules'] = get_accessble_modules(request,sel_mod='Users',sel_action='')

        defaults = {
            'current_app': self.name,
            'extra_context': extra_context or {},
        }
        if self.password_change_done_template is not None:
            defaults['template_name'] = self.password_change_done_template
        return password_change_done(request, **defaults)
Ejemplo n.º 23
0
 def get_object_list(self, request):
     User = get_user(request)
     #print >> sys.stdout,self.Meta.authorization.is_authorized_collection(request=request,permission=['Groups.Create','Groups.Edit'],atleast_one=True)
     if self.Meta.authorization.is_authorized_collection(request=request,permission=['Groups.Create','Groups.Edit'],atleast_one=True):
         if User.is_superuser:
             return super(GroupsPermission, self).get_object_list(request).filter(pk=1)
         else:
             return super(GroupsPermission, self).get_object_list(request).filter(pk=User.groups.pk)
     else:
         #raise Unauthorized("Permission denied")    
         errors = {'error':['Permission denied']}
         options = {
             'R':request,
             'A':"/Users/Groups/Permission List/Access violation(user list)/",
             'U':User,
             'L_T':'app',
             'E':errors,
             'C':401,
         }
         handle_errors(options)                    
Ejemplo n.º 24
0
 def obj_create(self, bundle,  **kwargs):
     request = bundle.request
     User = get_user(bundle.request)
     action = str(User.pk)+"/" + bundle.request.POST['category_name']
     if User.is_superuser:
     #if self.Meta.authorization.is_authorized(request,'Groups.Create'):
         try:
             try:
                 newCategory = Categories(category_name =bundle.request.POST['category_name'])
                 #newCategory.children.add(Categories.objects.get(pk=bundle.request.POST['parent']))
                 Categories.objects.get(pk=bundle.request.POST['parent']).children.add(newCategory)
                 country = WorldCountries.objects.get(country_name=User.country)
                 newCategory.countries.add(country)
                 newCategory.owner = country.pk
                 newCategory.is_system_folder = False
                 newCategory.save()
                 bundle.obj = newCategory
                 bundle.obj.id = newCategory.pk
                 #bundle = super(BookCategories, self).obj_create(bundle, **kwargs)
             except AttributeError, e:
                 errors = {'error':[str(e)]}
                 options = {
                     'R':bundle.request,
                     'A':"/Categories/Category/Update/Application error(attribute)/" +action,
                     'U':User,
                     'L_T':'app',
                     'E':errors,
                     'C':500,
                 }
                 handle_errors_only_log(options)                    
         except IntegrityError, e1:
             errors = {'error':[str(e1)]}
             options = {
                 'R':bundle.request,
                 'A':"/Categories/Category/Create/Application error(integrity)/" +action,
                 'U':User,
                 'L_T':'app',
                 'E':errors,
                 'C':500,
             }
             handle_errors(options)                    
Ejemplo n.º 25
0
    def obj_create(self, bundle,  **kwargs):

        request = bundle.request
        User = get_user(request)
        action = str(User.pk)+"/" + bundle.request.POST['group_name']
        if self.Meta.authorization.is_authorized(request,'Groups.Create'):
            try:
                try:
                    #for category in Categories.objects.all():
                    #    print >> sys.stdout,category
                    country = WorldCountries.objects.get(country_name=User.country)
                    #bundle.obj.owner = country.pk
                    bundle = super(CRUDGroup, self).obj_create(bundle, owner=country.pk)
                    #print >> sys.stdout,bundle.obj.id
                    bundle.obj.save()
                    
                except AttributeError, e:
                    errors = {'error':[str(e)]}
                    options = {
                        'R':bundle.request,
                        'A':"/Users/Groups/Create/Application error(attribute)/" +action,
                        'U':User,
                        'L_T':'app',
                        'E':errors,
                        'C':500,
                    }
                    handle_errors_only_log(options)                    

            except IntegrityError, e1:
                errors = {'error':[str(e1)]}
                options = {
                    'R':bundle.request,
                    'A':"/Users/Groups/Create/Application error(integrity)/" +action,
                    'U':User,
                    'L_T':'app',
                    'E':errors,
                    'C':500,
                }
                handle_errors(options)                    
Ejemplo n.º 26
0
    def alter_list_data_to_serialize(self, request, data_dict):
        LUSER = get_user(request)
        if isinstance(data_dict, dict):
            if 'meta' in data_dict:
                # Get rid of the "meta".
                #del(data_dict['meta'])

                data_dict['fld'] = {}
                data_dict['fields'] = []
                data_dict['models'] = []


                friendly_field_name = User().list_view_display_fields()
                for field in friendly_field_name:
                    data_dict['fld'][field] = field

                #del data_dict['fld']['groups']
                #del data_dict['fld']['id']
                #del data_dict['fld']['country']
                if not LUSER.is_superuser:
                    del data_dict['fld']['is_superuser']
                    del data_dict['fld']['is_active']
                
                #print >> sys.stdout,friendly_field_name
                for field in data_dict['fld']:
                    data_dict['fields'].append(field)
                    data_dict['models'].append({"title": friendly_field_name[field],"property": field, "sortable": "true"})
                del data_dict['fld']

                #for field in data_dict['fields']:
                #    data_dict['models'].append({'name':field,'index':field,'width':80})


                    
                # Rename the objects.
                data_dict['users'] = copy.copy(data_dict['objects'])
                del(data_dict['objects'])
        return data_dict    
Ejemplo n.º 27
0
    def app_index(self, request, app_label, extra_context=None):
        #user = request.user
        #print >> sys.stdout, request.get_full_path().split('/')[1]
        user = get_user(request)

        if not get_country_from_url(request.get_full_path()).lower() == user.country.iso_code.lower():
            context = {
                'error':'You cannot access other market information',
                'home_url': '/%s/' % (user.country.iso_code)
            }
            return error_template('403',request=request,context=context,label='error')

            #raise Unauthorized("Permission denied")
        else:
            context = {
                'title': _('%s administration') % capfirst(app_label),
                
            }
            """
            context = {
                'title': _('%s administration') % capfirst(app_label),
               
            }
            """
            extra_context = dict()
            extra_context['home_url'] = '/%s/' % (user.country.iso_code)
            extra_context['profile'] = user.get_profile();
            extra_context['modules'] = get_accessble_modules(request,sel_mod=app_label,sel_action='')
            if not extra_context['modules']:
                raise Http404('The requested admin page does not exist.')

            #print >> sys.stdout, extra_context['modules']['selected'][0]['options']
            context.update(extra_context or {})

            return TemplateResponse(request, self.app_index_template or [
                'base_templates/%s/app_index.html' % app_label,
                'base_templates/app_index.html'
            ], context, current_app=self.name)
Ejemplo n.º 28
0
def password_change(
    request,
    template_name="base_templates/registration/password_change_form.html",
    post_change_redirect=None,
    password_change_form=PasswordChangeForm,
    current_app=None,
    extra_context=None,
):
    User = get_user(request)

    if post_change_redirect is None:
        post_change_redirect = reverse("UserManagement.views.password_change_done")
    if request.method == "POST":
        form = password_change_form(user=User, data=request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(post_change_redirect)
    else:
        form = password_change_form(user=User)
    context = {"form": form}
    if extra_context is not None:
        context.update(extra_context)
    return TemplateResponse(request, template_name, context, current_app=current_app)
 def is_authorized_collection(self, request=None,permission=[],must_all=False,atleast_one=False):
     user = get_user(request)
     permission_set = user.get_all_permissions()
     avl_perm = 0
     all_perm = 0
     if must_all:
         atleast_one = False
     if atleast_one:
         must_all = False
     one_perm_avilable = False
     for perm in permission:
         all_perm=all_perm+1
         if "%s" % (perm) in permission_set:
             avl_perm=avl_perm+1
             one_perm_avilable = True
             if atleast_one:
                 return one_perm_avilable
     #import sys
     #print >> sys.stdout,all_perm
     #print >> sys.stdout,avl_perm
     if must_all:
         return avl_perm ==  all_perm
     else:
         return one_perm_avilable
Ejemplo n.º 30
0
def accout_information_update(request, template_name="base_templates/login.html", extra_context=None):
    """
    Displays the login form and handles the login action.
    """
    user = get_user(request)
    success = 0
    if request.method == "POST":
        form = update_form(user=user, data=request.POST)
        if form.is_valid():
            user.first_name = request.POST["first_name"]
            user.last_name = request.POST["last_name"]
            user.email = request.POST["email"]
            user.username = user.username
            form.save(user)
            success = 1

    else:
        form = update_form(
            user=user,
            initial={
                "username": user.username,
                "first_name": user.first_name,
                "last_name": user.last_name,
                "email": user.email,
            },
        )

    form.fields["username"].widget.attrs["readonly"] = True

    # print >> sys.stdout,form.errors
    context = {"form": form}
    if success == 1:
        extra_context["saved"] = "Updated successfully"
    if extra_context is not None:
        context.update(extra_context)
    return TemplateResponse(request, template_name, context)