def handle(self, *args, **options): try: group = Group.objects.get(name='NDA Signed') except Group.DoesNotExist: group = Group(name='NDA Signed') group.save() content_type = ContentType.objects.get_for_model(Project) group.permissions = [ Permission.objects.get( codename='view_project', content_type=content_type, ), ] group.save() try: group = Group.objects.get(name='Teammates') except Group.DoesNotExist: group = Group(name='Teammates') group.save() content_type = ContentType.objects.get_for_model(Teammate) group.permissions = [ Permission.objects.get( codename='view_private', content_type=content_type, ), ] group.save()
def create_groups(study_name, leader, manager_list=None, member_list=None): # 스터디 존재 제크 try: study = Study.objects.filter(name=study_name) except Study.DoesNotExist: return # 그룹 3개 생성 leader = Group(name=study_name + '_leader') managers = Group(name=study_name + '_managers') members = Group(name=study_name + '_members') # 권한 생성 """ content_type = { "id" : 99????, "app_label" : "study", "model" : "study_permission" } """ add_p = Permission.objects.create( name="Can add " + study_name, #content_type=99, codename="add_"+study_name ) get_p = Permission.objects.create( name="Can get " + study_name, # content_type=99, codename="get_" + study_name ) change_p = Permission.objects.create( name="Can change" + study_name, # content_type=99, codename="change_" + study_name ) delete_p = Permission.objects.create( name="Can delete" + study_name, # content_type=99, codename="delete_" + study_name ) # manager, user 추가/삭제 권한 # 해당 그룹에 맞는 권한 저장 leader.permissions.add(add_p, get_p, change_p, delete_p) managers.permissions.add(add_p, get_p, change_p, delete_p) members.permissions(add_p, get_p) # 입력받은 사용자를 그룹에 추가 (reverse MtoM) leader.user_set.add(leader) for m in manager_list: managers.user_set.add(m) for m in member_list: members.user_set.add(m) leader.save() managers.save() members.save()
def create_groups(study_name, leader, manager_list=None, member_list=None): # 스터디 존재 제크 try: study = Study.objects.filter(name=study_name) except Study.DoesNotExist: return # 그룹 3개 생성 leader = Group(name=study_name + '_leader') managers = Group(name=study_name + '_managers') members = Group(name=study_name + '_members') # 권한 생성 """ content_type = { "id" : 99????, "app_label" : "study", "model" : "study_permission" } """ add_p = Permission.objects.create( name="Can add " + study_name, #content_type=99, codename="add_" + study_name) get_p = Permission.objects.create( name="Can get " + study_name, # content_type=99, codename="get_" + study_name) change_p = Permission.objects.create( name="Can change" + study_name, # content_type=99, codename="change_" + study_name) delete_p = Permission.objects.create( name="Can delete" + study_name, # content_type=99, codename="delete_" + study_name) # manager, user 추가/삭제 권한 # 해당 그룹에 맞는 권한 저장 leader.permissions.add(add_p, get_p, change_p, delete_p) managers.permissions.add(add_p, get_p, change_p, delete_p) members.permissions(add_p, get_p) # 입력받은 사용자를 그룹에 추가 (reverse MtoM) leader.user_set.add(leader) for m in manager_list: managers.user_set.add(m) for m in member_list: members.user_set.add(m) leader.save() managers.save() members.save()
def handle(self, *args, **options): groups = settings.DEFAULT_GROUPS for groupname in groups: try: g = Group.objects.get(name=groupname) except Group.DoesNotExist: g = Group() g.name = groupname g.save() if g.name == "Default": g.user_set = User.objects.all() g.permissions = [] for permission in groups[groupname]: try: p = Permission.objects.get(codename=permission) g.permissions.add(p) except Permission.DoesNotExist: if permission[0] == "*": permissions = Permission.objects.filter(content_type__model=permission.split("_")[1]) for p in permissions: g.permissions.add(p) g.save()
def get_system_config(request): if request.method == 'POST': form = SystemConfigForm(request.POST) if form.is_valid(): config_set('system_url', form.cleaned_data['system_url']) config_set('system_welcometext', form.cleaned_data['system_welcometext']) if form.cleaned_data['system_enable_anonymous']: config_set('system_enable_anonymous', True) # check for Anonymous group and (re)create it as needed try: anonymous = Group.objects.get(name='Anonymous') except Group.DoesNotExist: default_perms = [u'can_see_agenda', u'can_see_projector', u'can_see_application'] anonymous = Group() anonymous.name = 'Anonymous' anonymous.save() anonymous.permissions = Permission.objects.filter(codename__in=default_perms) anonymous.save() messages.success(request, _('Anonymous access enabled. Please modify the "Anonymous" group to fit your required permissions.')) else: # use '' - False will evaluate to uniced(False) => True.. config_set('system_enable_anonymous', '') messages.success(request, _('System settings successfully saved.')) else: messages.error(request, _('Please check the form for errors.')) else: form = SystemConfigForm(initial={ 'system_url': config_get('system_url'), 'system_welcometext': config_get('system_welcometext'), 'system_enable_anonymous': config_get('system_enable_anonymous'), }) return { 'form': form, }
def handle(self, *args, **options): out = '' if hasattr(settings, 'ADMIN_AUTH_GROUP_NAME'): name = settings.ADMIN_AUTH_GROUP_NAME else: name = 'Admin' try: auth_group = Auth_Group.objects.get(name=name) except Auth_Group.DoesNotExist: auth_group = Auth_Group(name=name) auth_group.save() #self.stdout.write('Successfully created an auth group "Admin".') out = 'Successfully created an auth group "Admin".\n' # assign permission to group, but exclude the auth content content_to_exclude = ContentType.objects.filter(app_label='auth') permissions = Permission.objects.all().exclude( content_type__in=content_to_exclude) auth_group.permissions = permissions auth_group.save() #self.stdout.write('Successfully added all permissions to group "Admin".') out += 'Successfully added/updated all permissions to group "%s".' % name print(out)
def save_group(request): perm = Permission.objects.all() if request.method == 'POST': form = GroupForm(request.POST) if form.is_valid(): group = Group() group.name = request.POST['name'] group.save() group.permissions = request.POST.getlist('permission') group.save() return redirect('/permissions/group/') else: form = GroupForm() return render(request, 'permissions/group/save.html', { 'form': form, 'permissions':perm, })
def handle(self, *args, **options): groups = settings.DEFAULT_GROUPS for groupname in groups: try: g = Group.objects.get(name=groupname) except Group.DoesNotExist: g = Group() g.name = groupname g.save() if g.name == "Default": g.user_set = User.objects.all() g.permissions = [] for permission in groups[groupname]: try: p = Permission.objects.get(codename=permission) g.permissions.add(p) except Permission.DoesNotExist: if permission[0] == "*": permissions = Permission.objects.filter( content_type__model=permission.split("_")[1]) for p in permissions: g.permissions.add(p) g.save()
def handle(self,*args,**options): permissions = Permission.objects.filter(content_type__app_label__in=['inmueble']) publicadores=Group( name='publicadores' ) publicadores.save() publicadores.permissions=[p.id for p in permissions] publicadores.save() self.stdout.write('Grupo %s creado con exito\n' % (publicadores.name))
def set_perms(self, groupname, perms): self.stdout.write("Setting permissions for group '%s'." % groupname) if self.verbosity >= 2: self.stdout.write(" Permissions: %s" % ', '.join(perms)) try: group = Group.objects.get(name=groupname) except Group.DoesNotExist: self.stdout.write(" Group does not exist, creating it.") group = Group(name=groupname) group.save() group.permissions = get_permissions_from_ns_codenames(perms) group.save()
def add_permissions(self): print '***************************************************************' print 'Adding Permissions' print '***************************************************************' # add bg group apps = ("static_ortoloco", "my_ortoloco", "photologue") perms = Permission.objects.filter(content_type__app_label__in=apps) g = Group(name="Betriebsgruppe") g.save() g = Group.objects.get(name="Betriebsgruppe") g.permissions = perms g.save()
def set_perms(self, groupname, codenames): self.stdout.write("Setting permissions for group '%s'." % groupname) if self.verbosity >= 2: self.stdout.write(" Permissions: %s" % ', '.join(codenames)) try: group = Group.objects.get(name=groupname) except Group.DoesNotExist: group = Group(name=groupname) group.save() group.permissions = [ Permission.objects.get(codename=codename) for codename in codenames ] group.save()
def create_group(**kwargs): global counter counter = counter + 1 defaults = { "name": "group%d" % counter, } permissions = [] if "permissions" in kwargs: Permissions = kwargs["permissions"] del kwargs["permissions"] defaults.update(kwargs) g = Group(**defaults) g.save() g.permissions = permissions g.save() return g
def set_perms(self, groupname, perms): self.stdout.write("Setting permissions for group '%s'." % groupname) if self.verbosity >= 2: self.stdout.write(" Permissions: %s" % ', '.join(perms)) try: group = Group.objects.get(name=groupname) except Group.DoesNotExist: self.stdout.write(" Group does not exist, creating it.") group = Group(name=groupname) group.save() try: group.permissions = get_permissions_from_ns_codenames(perms) group.save() except Exception as e: self.stderr.write(f"Error stroing group {e}.") print(e)
def handle(self, *args, **options): """ Created for self signup use. Initially everyone in the database is an administrator. We create the 'admin' group if it doesn't exist We set the appropriate permissions on the user We put the user in the admin group """ # command to run: python manage.py admin_converter from profiles.utils import user_add_remove_admin_auth_group if hasattr(settings, 'ADMIN_AUTH_GROUP_NAME'): name = settings.ADMIN_AUTH_GROUP_NAME else: name = 'Admin' try: auth_group = Auth_Group.objects.get(name=name) except Auth_Group.DoesNotExist: auth_group = Auth_Group(name=name) auth_group.save() print 'Successfully added admin auth group "%s".' % name # assign permission to group, but exclude the auth content content_to_exclude = ContentType.objects.filter(app_label='auth') permissions = Permission.objects.all().exclude(content_type__in=content_to_exclude) auth_group.permissions = permissions auth_group.save() print "Adding users (admins) to admin auth group...\n" count = 0 users = User.objects.all() for u in users: u.is_staff = True u.is_superuser = False u.groups = [auth_group] u.save() count += 1 print 'User "%s(%s)" -- added' % (u.get_full_name(), u.username) if count == 1: print "1 user added" else: print "%d users added" % count
def handle(self, *args, **options): """ Created for self signup use. Initially everyone in the database is an administrator. We create the 'admin' group if it doesn't exist We set the appropriate permissions on the user We put the user in the admin group """ # command to run: python manage.py admin_converter if hasattr(settings, 'ADMIN_AUTH_GROUP_NAME'): name = settings.ADMIN_AUTH_GROUP_NAME else: name = 'Admin' try: auth_group = Auth_Group.objects.get(name=name) except Auth_Group.DoesNotExist: auth_group = Auth_Group(name=name) auth_group.save() print 'Successfully added admin auth group "%s".' % name # assign permission to group, but exclude the auth content content_to_exclude = ContentType.objects.filter(app_label='auth') permissions = Permission.objects.all().exclude( content_type__in=content_to_exclude) auth_group.permissions = permissions auth_group.save() print "Adding users (admins) to admin auth group...\n" count = 0 users = User.objects.all() for u in users: u.is_staff = True u.is_superuser = False u.groups = [auth_group] u.save() count += 1 print 'User "%s(%s)" -- added' % (u.get_full_name(), u.username) if count == 1: print "1 user added" else: print "%d users added" % count
def update_admin_group_perms(): if hasattr(settings, 'ADMIN_AUTH_GROUP_NAME'): name = settings.ADMIN_AUTH_GROUP_NAME else: name = 'Admin' try: auth_group = Auth_Group.objects.get(name=name) except Auth_Group.DoesNotExist: auth_group = Auth_Group(name=name) auth_group.save() # assign permission to group, but exclude the auth content content_to_exclude = ContentType.objects.filter(app_label='auth') permissions = Permission.objects.all().exclude(content_type__in=content_to_exclude) auth_group.permissions = permissions auth_group.save()
def _dec(request, *args, **kw_args): if not name or not models_list or len(models_list) < 1: raise AttributeError("Decorator requires both name and models list") try: group = Group.objects.get(name=name) except Group.DoesNotExist: group = Group() group.name = name # Save and re-load in-order to get the primary key. # Otherwise you cant have many-to-many relationship. group.save() codename_list = [perm + "_" + model for model in models_list for perm in permission_list] permissions = Permission.objects.filter(codename__in=codename_list) group.permissions = permissions group.save() return view_func(request, *args, **kw_args)
def _prepare(cls, create, **kwargs): password = kwargs.pop('password', None) user = super(StaffFactory, cls)._prepare(create, **kwargs) if password: user.set_password(password) if create: user.save() group_staff = Group.objects.filter(name="staff").first() if group_staff is None: group_staff = Group(name="staff") group_staff.save() perms = Permission.objects.filter(codename__startswith='change_').all() group_staff.permissions = perms user.groups.add(group_staff) user.save() return user
def get_developer_group(): try: group = Group.objects.get(name='developer') except ObjectDoesNotExist: group = Group(name='developer') group.save() group.permissions = [ Permission.objects.get(codename='view_projects'), Permission.objects.get(codename='view_tasks'), Permission.objects.get(codename='filter_tasks'), Permission.objects.get(codename='create_task'), Permission.objects.get(codename='view_comments'), Permission.objects.get(codename='create_comment'), Permission.objects.get(codename='update_comment'), Permission.objects.get(codename='del_comment'), Permission.objects.get(codename='view_task_details'), Permission.objects.get(codename='change_task_status'), ] return group
def handle(self, *args, **options): auth_perms = ['add_user', 'change_user', 'delete_user'] provisioning_perms = [ 'add_provider', 'change_provider', 'delete_provider', 'add_node', 'change_node', 'delete_node', ] try: admin = Group.objects.get(name='Admin') except Group.DoesNotExist: admin = Group(name='Admin') admin.save() try: op = Group.objects.get(name='Operator') except Group.DoesNotExist: op = Group(name='Operator') op.save() admin.permissions = [ Permission.objects.get(codename=codename) for codename in auth_perms] for codename in provisioning_perms: admin.permissions.add(Permission.objects.get(codename=codename)) op.permissions.add(Permission.objects.get(codename=codename)) # Add an Observer role with no rights try: ob = Group.objects.get(name='Observer') except Group.DoesNotExist: ob = Group(name='Observer') ob.save() # Remove superuser status (if any exist) and add the user to the admin group superusers = User.objects.filter(is_superuser=True) for user in superusers: user.is_superuser = False user.save() user.groups = [admin] verbosity = int(options.get('verbosity', 1)) if verbosity >= 1: print('Successfully loaded permission groups')
def crear_componentes_proyecto1(self): #crea usuarios nelsond = User.objects.create_user('nelsond', '*****@*****.**', '12345') ariel = User.objects.create_user('arielm', '*****@*****.**', '32145') #crea proyectos proyecto1 = None #crea fases fase1 = None #crea roles desarrollador = Group(name="desarrollador") desarrollador.permissions= [Permission.objects.get('proyecto_crear'),\ Permission.objects.get('proyecto_modif'),\ ] #asigna un proyecto a un usuario rolproyecto = RolProyecto(proyecto = proyecto1, usuario= ariel) #asignar una fase a un proyecto_usuario RolFases(rolproyecto =rolproyecto, fase = fase1 )
def _prepare(cls, create, **kwargs): password = kwargs.pop('password', None) user = super(StaffFactory, cls)._prepare(create, **kwargs) if password: user.set_password(password) if create: user.save() group_staff = Group.objects.filter(name='staff').first() if group_staff is None: group_staff = Group(name='staff') group_staff.save() hat, _ = Hat.objects.get_or_create(name__iexact='Staff', defaults={'name': 'Staff'}) hat.group = group_staff hat.save() perms = Permission.objects.filter(codename__startswith='change_').all() group_staff.permissions = perms user.groups.add(group_staff) user.save() return user
def crear_componentes_proyecto1(self): #crea usuarios nelsond = User.objects.create_user('nelsond', '*****@*****.**', '12345') ariel = User.objects.create_user('arielm', '*****@*****.**', '32145') #crea proyectos proyecto1 = None #crea fases fase1 = None #crea roles desarrollador = Group(name="desarrollador") desarrollador.permissions= [Permission.objects.get('proyecto_crear'),\ Permission.objects.get('proyecto_modif'),\ ] #asigna un proyecto a un usuario rolproyecto = RolProyecto(proyecto=proyecto1, usuario=ariel) #asignar una fase a un proyecto_usuario RolFases(rolproyecto=rolproyecto, fase=fase1)
def form_valid(self, form): # event config['event_name'] = form.cleaned_data['event_name'] config['event_description'] = form.cleaned_data['event_description'] config['event_date'] = form.cleaned_data['event_date'] config['event_location'] = form.cleaned_data['event_location'] config['event_organizer'] = form.cleaned_data['event_organizer'] # welcome widget config['welcome_title'] = form.cleaned_data['welcome_title'] config['welcome_text'] = form.cleaned_data['welcome_text'] # system if form.cleaned_data['system_enable_anonymous']: config['system_enable_anonymous'] = True # check for Anonymous group and (re)create it as needed try: anonymous = Group.objects.get(name='Anonymous') except Group.DoesNotExist: default_perms = [ 'can_see_agenda', 'can_see_projector', 'can_see_motion', 'can_see_assignment', 'can_see_dashboard' ] anonymous = Group() anonymous.name = 'Anonymous' anonymous.save() anonymous.permissions = Permission.objects.filter( codename__in=default_perms) anonymous.save() messages.success(self.request, _('Anonymous access enabled. Please modify the "Anonymous" ' \ 'group to fit your required permissions.')) else: config['system_enable_anonymous'] = False messages.success(self.request, _('General settings successfully saved.')) return super(GeneralConfig, self).form_valid(form)
def form_valid(self, form): # event config['event_name'] = form.cleaned_data['event_name'] config['event_description'] = form.cleaned_data['event_description'] config['event_date'] = form.cleaned_data['event_date'] config['event_location'] = form.cleaned_data['event_location'] config['event_organizer'] = form.cleaned_data['event_organizer'] # welcome widget config['welcome_title'] = form.cleaned_data['welcome_title'] config['welcome_text'] = form.cleaned_data['welcome_text'] # system if form.cleaned_data['system_enable_anonymous']: config['system_enable_anonymous'] = True # check for Anonymous group and (re)create it as needed try: anonymous = Group.objects.get(name='Anonymous') except Group.DoesNotExist: default_perms = ['can_see_agenda', 'can_see_projector', 'can_see_motion', 'can_see_assignment', 'can_see_dashboard'] anonymous = Group() anonymous.name = 'Anonymous' anonymous.save() anonymous.permissions = Permission.objects.filter( codename__in=default_perms) anonymous.save() messages.success(self.request, _('Anonymous access enabled. Please modify the "Anonymous" ' \ 'group to fit your required permissions.')) else: config['system_enable_anonymous'] = False messages.success(self.request, _('General settings successfully saved.')) return super(GeneralConfig, self).form_valid(form)
def handle(self, *args, **options): assert User.objects.all().count() == 1 self.connect(*args) self.userids = {} print 'Starting migration on ', datetime.datetime.now() self.create_users() self.create_taetigkeitsbereiche() self.create_depots() self.create_taetigkeitsbereich_locos() self.create_jobtypes() self.create_jobs() self.create_extraabotypes() self.create_abos() self.create_abo_extra_abos() self.create_anteilscheine() print 'Finished migration on ', datetime.datetime.now() # set emails of some people to @ortoloco.ch address # TODO: remove this for k, v in depot_email_hack.items(): loco = Loco.objects.get(email=v) loco.email = k loco.save() # add bg group apps = ("static_ortoloco", "my_ortoloco", "photologue") perms = Permission.objects.filter(content_type__app_label__in=apps) g = Group(name="Betriebsgruppe") g.save() g = Group.objects.get(name="Betriebsgruppe") g.permissions = perms g.save() # finally, clean up Audit.objects.all().delete()
def handle(self, *args, **options): out = '' if hasattr(settings, 'ADMIN_AUTH_GROUP_NAME'): name = settings.ADMIN_AUTH_GROUP_NAME else: name = 'Admin' try: auth_group = Auth_Group.objects.get(name=name) except Auth_Group.DoesNotExist: auth_group = Auth_Group(name=name) auth_group.save() #self.stdout.write('Successfully created an auth group "Admin".') out = 'Successfully created an auth group "Admin".\n' # assign permission to group, but exclude the auth content content_to_exclude = ContentType.objects.filter(app_label='auth') permissions = Permission.objects.all().exclude(content_type__in=content_to_exclude) auth_group.permissions = permissions auth_group.save() #self.stdout.write('Successfully added all permissions to group "Admin".') out += 'Successfully added/updated all permissions to group "%s".' % name print out
def handle(self, *args, **options): assert User.objects.all().count() == 1 self.connect(*args) self.userids = {} print 'Starting migration on ', datetime.datetime.now() self.create_users() self.create_taetigkeitsbereiche() self.create_depots() self.create_taetigkeitsbereich_locos() self.create_jobtypes() self.create_jobs() self.create_extraabotypes() self.create_abos() self.create_abo_extra_abos() self.create_anteilscheine() print 'Finished migration on ', datetime.datetime.now() # set emails of some people to @ortoloco.ch address # TODO: remove this for k,v in depot_email_hack.items(): loco = Loco.objects.get(email=v) loco.email = k loco.save() # add bg group apps = ("static_ortoloco", "my_ortoloco", "photologue") perms = Permission.objects.filter(content_type__app_label__in=apps) g = Group(name="Betriebsgruppe") g.save() g = Group.objects.get(name="Betriebsgruppe") g.permissions = perms g.save() # finally, clean up Audit.objects.all().delete()
def create_permissions(): # Institutions permission_add_inst = Permission.objects.get(codename='add_institution') permission_change_inst = Permission.objects.get(codename='change_institution') permission_delete_inst = Permission.objects.get(codename='delete_institution') # Project Types permission_add_ptype = Permission.objects.get(codename='add_projecttype') permission_change_ptype = Permission.objects.get(codename='change_projecttype') permission_delete_ptype = Permission.objects.get(codename='delete_projecttype') # Project permission_add_project = Permission.objects.get(codename='add_project') permission_change_project = Permission.objects.get(codename='change_project') permission_delete_project = Permission.objects.get(codename='delete_project') # Permission content_type = ContentType.objects.get_for_model(sapu.models.Permission) permission_add_permission = Permission.objects.get(codename='add_permission', content_type_id=content_type.id) permission_change_permission = Permission.objects.get(codename='change_permission', content_type_id=content_type.id) permission_delete_permission = Permission.objects.get(codename='delete_permission', content_type_id=content_type.id) # Employee permission_add_employee = Permission.objects.get(codename='add_employee') permission_change_employee = Permission.objects.get(codename='change_employee') permission_delete_employee = Permission.objects.get(codename='delete_employee') # Stage permission_add_stage = Permission.objects.get(codename='add_stage') permission_change_stage = Permission.objects.get(codename='change_stage') permission_delete_stage = Permission.objects.get(codename='delete_stage') # Comment permission_add_comment = Permission.objects.get(codename='add_comment') permission_change_comment = Permission.objects.get(codename='change_comment') permission_delete_comment = Permission.objects.get(codename='delete_comment') # Task permission_add_task = Permission.objects.get(codename='add_task') permission_change_task = Permission.objects.get(codename='change_task') permission_delete_task = Permission.objects.get(codename='delete_task') employee = Group(name='Empleado') employee.save() supervisor = Group(name='Supervisor') supervisor.save() project_manager = Group(name='Jefe de proyectos') project_manager.save() administrator = Group(name='Administrador') administrator.save() employee_permissions = [permission_add_comment, permission_change_comment, permission_delete_comment] supervisor_permissions = [permission_add_task, permission_change_task, permission_delete_task] supervisor_permissions.extend(employee_permissions) project_manager_permissions = [permission_add_ptype, permission_change_ptype, permission_delete_ptype, permission_add_inst, permission_change_inst, permission_delete_inst, permission_add_permission, permission_change_permission, permission_delete_permission, permission_add_stage, permission_change_stage, permission_delete_stage, permission_add_project, permission_change_project] project_manager_permissions.extend(supervisor_permissions) administrator_permissions = [permission_delete_project, permission_add_employee, permission_change_employee, permission_delete_employee] administrator_permissions.extend(project_manager_permissions) employee.permissions = employee_permissions supervisor.permissions = supervisor_permissions project_manager.permissions = project_manager_permissions administrator.permissions = administrator_permissions
if(source.id % 100 == 0): print source.id source.save() #super_profile.save() new_group_invensis = Group(name="INVENSIS") new_group_invensis.save() new_group_invensis = Group.objects.get(name="INVENSIS") new_group_leaders = Group(name="TeamLeaders") new_group_leaders.save() new_group_leaders = Group.objects.get(name="TeamLeaders") new_group_leaders.permissions = all_permits new_teamlead_invensis = User(username="******",password="******",is_active=True,is_staff=True) new_teamlead_invensis.save() new_teamlead_invensis = User.objects.get(username="******") new_teamlead_invensis.groups.add(new_group_invensis) new_teamlead_invensis.groups.add(new_group_leaders) new_user_invensis = User(username="******",password="******",is_active=True,is_staff=True) new_user_invensis.save() new_teamlead_invensis = User.objects.get(username="******") new_user_invensis.groups.add(new_group_invensis) new_user_invensis2 = User(username="******",password="******",is_active=True,is_staff=True)
def cria_grupos_usuarios(request): for nome_grupo in ('cliente', 'gerente', 'pizzaiolo', 'atendente', 'entregador', 'garçom'): try: Group.objects.get(name=nome_grupo).delete() except Exception: pass cliente = Group(name='cliente') cliente.save() gerente = Group(name='gerente') gerente.save() pizzaiolo = Group(name='pizzaiolo') pizzaiolo.save() atendente = Group(name='atendente') atendente.save() entregador = Group(name='entregador') entregador.save() garcom = Group(name='garçom') garcom.save() cliente.permissions = [Permission.objects.get(name='Pode criar reclamacao'), Permission.objects.get(name='Pode criar pedido'), Permission.objects.get(name='Pode criar pizza personalizada'), Permission.objects.get(name='Pode editar pizza personalizada'), Permission.objects.get(name='Pode deletar pizza personalizada')] gerente.permissions = [Permission.objects.get(name='Pode criar cliente'), Permission.objects.get(name='Pode ver todos os clientes'), Permission.objects.get(name='Pode editar qualquer cliente'), Permission.objects.get(name='Pode deletar cliente'), Permission.objects.get(name='Pode ver reclamacoes'), Permission.objects.get(name='Pode resolver reclamacao'), Permission.objects.get(name='Pode deletar reclamacao'), Permission.objects.get(name='Pode criar funcionario'), Permission.objects.get(name='Pode ver funcionarios'), Permission.objects.get(name='Pode editar qualquer funcionario'), Permission.objects.get(name='Pode deletar funcionario'), Permission.objects.get(name='Pode ver todos os pedidos'), Permission.objects.get(name='Pode editar pedido'), Permission.objects.get(name='Pode criar pizza'), Permission.objects.get(name='Pode ver pizzas'), Permission.objects.get(name='Pode editar pizza'), Permission.objects.get(name='Pode deletar pizza'), Permission.objects.get(name='Pode criar bebida'), Permission.objects.get(name='Pode ver bebidas'), Permission.objects.get(name='Pode editar bebida'), Permission.objects.get(name='Pode deletar bebida'), Permission.objects.get(name='Pode criar ingrediente'), Permission.objects.get(name='Pode ver ingredientes'), Permission.objects.get(name='Pode editar ingrediente'), Permission.objects.get(name='Pode deletar ingrediente'), Permission.objects.get(name='Pode editar pedido'), Permission.objects.get(name='Pode deletar pedido'),] atendente.permissions = [Permission.objects.get(name='Pode criar cliente'), Permission.objects.get(name='Pode ver todos os clientes'), Permission.objects.get(name='Pode editar qualquer cliente'), Permission.objects.get(name='Pode criar pedido'), Permission.objects.get(name='Pode editar pedido'), Permission.objects.get(name='Pode deletar pedido'), Permission.objects.get(name='Pode ver todos os pedidos'), Permission.objects.get(name='Pode ver pizzas personalizadas telefone'), Permission.objects.get(name='Pode ver bebidas'), Permission.objects.get(name='Pode criar pizza personalizada'), Permission.objects.get(name='Pode deletar pizza personalizada telefone'), Permission.objects.get(name='Pode deletar pizza personalizada'), Permission.objects.get(name='Pode editar pizza personalizada')] pizzaiolo.permissions = [Permission.objects.get(name='Pode ver todos os pedidos'), Permission.objects.get(name='Pode editar pedido')] entregador.permissions = [Permission.objects.get(name='Pode ver pedidos a serem entregues'), Permission.objects.get(name='Pode editar pedido')] garcom.permissions = [Permission.objects.get(name='Pode criar pedido')] return HttpResponse('Grupos criados com sucesso')
def init_self_user(): u"添加自助查询用户,确保在权限代码都创建完了之后,才可以初始化角色" usrs = User.objects.filter(username="******") if not usrs: usr = User.objects.create_user("employee", "*****@*****.**", "jq92~+>)@#$%#") usr.is_staff = True usr.save() else: usr = usrs[0] # 添加自助查询角色 g_employees = Group.objects.filter(name="role_for_employee") if not g_employees: g_employee = Group() g_employee.name = "role_for_employee" g_employee.save() usr.groups.add(g_employee) else: g_employee = g_employees[0] # 添加自助查询角色所拥有的权限 # # 同步数据库后,可以在数据库中查看生成的权限值 # select * from auth_permission ap # inner join django_content_type dct on dct.id = ap.content_type_id # where dct.model ='***' # 可以通过下面的方法给员工自助配置code self_perms = [ { "app_label": "selfservice", "model": "SelfSpecDay", "codename": ["can_SelfSpecDay"] }, { "app_label": "selfservice", "model": "SelfOverTime", "codename": ["can_SelfOverTime"] }, { "app_label": "selfservice", "model": "SelfTransaction", "codename": ["can_SelfTransaction"] }, { "app_label": "selfservice", "model": "SelfCheckexact", "codename": ["can_SelfCheckexact"] }, { "app_label": "selfservice", "model": "SelfReport", "codename": ["can_SelfReport"] }, ] att_perms = [ { "app_label": "att", "model": "EmpSpecDay", "codename": [ "opaddmanyuserid_empspecday", "browse_empspecday", "change_empspecday", "delete_empspecday" ] }, { "app_label": "att", "model": "OverTime", "codename": [ "opaddmanyovertime_overtime", "browse_overtime", "change_overtime", "delete_overtime" ] }, { "app_label": "att", "model": "CheckExact", "codename": [ "opaddmanycheckexact_checkexact", "browse_checkexact", "change_checkexact", "delete_checkexact" ] }, { "app_label": "att", "model": "checkinout", "codename": ["can_CheckInOut"] }, { "app_label": "att", "model": "attreport", "codename": [ "can_AttReport", ] }, ] perms_detail = self_perms + att_perms permissions = [] count_perms = 0 for e in perms_detail: try: count_perms += len(e["codename"]) mct = ContentType.objects.get(app_label=e["app_label"], model=e["model"].lower()) p = Permission.objects.filter(codename__in=e["codename"], content_type=mct) # if len(p) != len(e["codename"]): # print len(p),len(e["codename"]),'\n' # print e["codename"],'\n' permissions.extend(p) except: # print 'app_label:',e["app_label"],'model',e["model"],'\n' # import traceback;traceback.print_exc(); break # print 'count_perms:',count_perms,'\n' # print 'len(permissions):',len(permissions),'\n',[p.codename for p in permissions] if count_perms == len(permissions): if g_employee.permissions.count() <= count_perms: # 并且还未初始化 g_employee.permissions = permissions print( ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> selfservice permissions sync success! <from python-support\base\models.py>" ) else: print( "!!! selfservice permissions sync faild==>need permissions:%d,db permissions:%d,please check it ! <from python-support\base\models.py>" % (count_perms, len(permissions)))
def handle(self, *args, **options): """ admin was determined by: is_superuser=True and is_staff=False now we changed criteria to be: is_superuser=False and is_staff=True This command is to convert all admins on the site to use the new criteria and add them to the auth group """ # command to run: python manage.py admin_converter from profiles.utils import user_add_remove_admin_auth_group if hasattr(settings, 'ADMIN_AUTH_GROUP_NAME'): name = settings.ADMIN_AUTH_GROUP_NAME else: name = 'Admin' try: auth_group = Auth_Group.objects.get(name=name) except Auth_Group.DoesNotExist: auth_group = Auth_Group(name=name) auth_group.save() # assign permission to group, but exclude the auth content content_to_exclude = ContentType.objects.filter(app_label='auth') permissions = Permission.objects.all().exclude(content_type__in=content_to_exclude) auth_group.permissions = permissions auth_group.save() print 'Successfully added admin auth group "%s".' % name print "Adding users (admins) to admin auth group...\n" count = 0 # all admins (under the new criteria or old criteria). make sure they are on admin group users = User.objects.filter(Q(is_superuser=False, is_staff=True) | Q(is_superuser=True, is_staff=False)) if users: for user in users: if user.is_superuser and not user.is_staff: user.is_superuser = False user.is_staff = True user.save() group_updated = False user_auth_groups = user.groups.all() if user_auth_groups: if auth_group not in user_auth_groups: user_auth_groups.append(auth_group) user.groups = user_auth_groups group_updated = True else: user.groups = [auth_group] group_updated = True if group_updated: user.save() count += 1 print 'User "%s(%s)" -- added' % (user.get_full_name(), user.username) print if count == 1: print '1 user added.' else: print '%d users added.' % count
def handle(self, *args, **options): force = options.get('force') quiet = options.get('quiet') try: # If there are existing groups, there could be conflicts with the groups this script is about to create. # It is possible to merge them, but it would be too complicated and time-consuming to implement. # So just remove all of them. # Since we trust this script to create the groups properly, # we can always say 'y' to the prompt and let it handle the update of groups and permissions in the database if Group.objects.count() > 0: if not force: if quiet: return while True: self.stdout.write( self.style.NOTICE( 'You have existing groups in the database. ' 'Continuing will remove all of them, ' 'and create and set up only those required by the application.\n' 'Are you sure you want to continue? (y or n)')) response = input() if response == 'n': print('No changes are made.') return elif response == 'y': break Group.objects.all().delete() # Get all the content types # As long as the model classes (python code) are in the project, this won't throw any error. patient_content_type = ContentType.objects.get_for_model(Patient) profile_information_content_type = ContentType.objects.get_for_model( ProfileInformation) appointment_content_type = ContentType.objects.get_for_model( Appointment) administrator_content_type = ContentType.objects.get_for_model( Administrator) doctor_content_type = ContentType.objects.get_for_model(Doctor) drug_content_type = ContentType.objects.get_for_model(Drug) prescription_content_type = ContentType.objects.get_for_model( Prescription) diagnosis_content_type = ContentType.objects.get_for_model( Diagnosis) treatment_session_content_type = ContentType.objects.get_for_model( TreatmentSession) test_content_type = ContentType.objects.get_for_model(Test) nurse_content_type = ContentType.objects.get_for_model(Nurse) hospital_content_type = ContentType.objects.get_for_model(Hospital) # Try to get all the permissions # This requires that the database has been migrated. # If not, then the permissions won't be found, and DoesNotExist error will be thrown. change_patient_permission = Permission.objects.get( codename='change_patient', content_type=patient_content_type) change_profile_information_permission = Permission.objects.get( codename='change_profileinformation', content_type=profile_information_content_type) add_profile_information_permission = Permission.objects.get( codename='add_profileinformation', content_type=profile_information_content_type) add_appointment_permission = Permission.objects.get( codename='add_appointment', content_type=appointment_content_type) cancel_appointment_permission = Permission.objects.get( codename='cancel_appointment', content_type=appointment_content_type) change_appointment_permission = Permission.objects.get( codename='change_appointment', content_type=appointment_content_type) view_appointment_permission = Permission.objects.get( codename='view_appointment', content_type=appointment_content_type) add_administrator_permission = Permission.objects.get( codename='add_administrator', content_type=administrator_content_type) add_doctor_permission = Permission.objects.get( codename='add_doctor', content_type=doctor_content_type) add_drug_permission = Permission.objects.get( codename='add_drug', content_type=drug_content_type) view_prescription_permission = Permission.objects.get( codename='view_prescription', content_type=prescription_content_type) view_patients_permission = Permission.objects.get( codename='view_patients', content_type=patient_content_type) discharge_patient_permission = Permission.objects.get( codename='discharge_patient', content_type=treatment_session_content_type) add_diagnosis_permission = Permission.objects.get( codename='add_diagnosis', content_type=diagnosis_content_type) change_diagnosis_permission = Permission.objects.get( codename='change_diagnosis', content_type=diagnosis_content_type) remove_drug_permission = Permission.objects.get( codename='remove_drug', content_type=drug_content_type) view_diagnosis_permission = Permission.objects.get( codename='view_diagnosis', content_type=diagnosis_content_type) view_treatment_session_permission = Permission.objects.get( codename='view_treatmentsession', content_type=treatment_session_content_type) request_test_permission = Permission.objects.get( codename='request_test', content_type=test_content_type) upload_test_results_permission = Permission.objects.get( codename='upload_test_results', content_type=test_content_type) view_drug_permission = Permission.objects.get( codename='view_drug', content_type=drug_content_type) add_treatment_session_permission = Permission.objects.get( codename='add_treatmentsession', content_type=treatment_session_content_type) release_test_results_permission = Permission.objects.get( codename='release_test_results', content_type=test_content_type) add_prescription_permission = Permission.objects.get( codename='add_prescription', content_type=prescription_content_type) change_prescription_permission = Permission.objects.get( codename='change_prescription', content_type=prescription_content_type) delete_prescription_permission = Permission.objects.get( codename='delete_prescription', content_type=prescription_content_type) change_drug_permission = Permission.objects.get( codename='change_drug', content_type=drug_content_type) add_nurse_permission = Permission.objects.get( codename='add_nurse', content_type=nurse_content_type) download_medical_information = Permission.objects.get( codename='export_information', content_type=prescription_content_type) transfer_patient_any_permission = Permission.objects.get( codename='transfer_patient_any_hospital', content_type=treatment_session_content_type) transfer_patient_receiving_permission = Permission.objects.get( codename='transfer_patient_receiving_hospital', content_type=treatment_session_content_type) view_test_results_permission = Permission.objects.get( codename='view_test_results', content_type=test_content_type) view_own_diagnoses_permission = Permission.objects.get( codename='view_own_diagnoses', content_type=diagnosis_content_type) view_system_information_permission = Permission.objects.get( codename='can_view_system_information', content_type=hospital_content_type) except (Permission.DoesNotExist, OperationalError): if quiet: return raise CommandError( 'Operation cannot be completed. Did you forget to do database migration?' ) # Set up Patient group. patient_group = Group(name='Patient') patient_group.save() patient_group.permissions = [ change_patient_permission, change_profile_information_permission, add_appointment_permission, cancel_appointment_permission, change_appointment_permission, view_appointment_permission, view_prescription_permission, download_medical_information, view_test_results_permission, download_medical_information, view_own_diagnoses_permission ] patient_group.save() # Set up Nurse group. nurse_group = Group(name='Nurse') nurse_group.save() nurse_group.permissions = [ view_prescription_permission, change_profile_information_permission, view_patients_permission, view_diagnosis_permission, view_treatment_session_permission, add_treatment_session_permission, change_appointment_permission, view_appointment_permission ] nurse_group.save() # Set up Doctor group. doctor_group = Group(name='Doctor') doctor_group.save() doctor_group.permissions = [ change_profile_information_permission, add_appointment_permission, cancel_appointment_permission, change_appointment_permission, view_appointment_permission, add_diagnosis_permission, change_diagnosis_permission, request_test_permission, upload_test_results_permission, discharge_patient_permission, view_diagnosis_permission, view_treatment_session_permission, view_patients_permission, view_prescription_permission, add_treatment_session_permission, release_test_results_permission, add_prescription_permission, change_prescription_permission, delete_prescription_permission, transfer_patient_receiving_permission ] doctor_group.save() # Set up Administrator group administrator_group = Group(name='Administrator') administrator_group.save() administrator_group.permissions = [ add_administrator_permission, add_doctor_permission, add_profile_information_permission, add_drug_permission, remove_drug_permission, view_drug_permission, change_drug_permission, add_nurse_permission, change_profile_information_permission, transfer_patient_any_permission, view_system_information_permission ] administrator_group.save() if not quiet: self.stdout.write( self.style.SUCCESS('Successfully set up all required groups.'))
admin.save() ctmodel = ContentType.objects.get(app_label='auth',model='User') can_view = Permission(name='Can View',codename='can_view',content_type=ctmodel) can_view.save() can_take = Permission(name='Can Take Quiz',codename='can_take',content_type=ctmodel) can_take.save() can_grade = Permission(name='Can Grade Quiz',codename='can_grade',content_type=ctmodel) can_grade.save() can_edit = Permission(name='Can Edit',codename='can_edit',content_type=ctmodel) can_edit.save() can_admin = Permission(name='Can Admin',codename='can_admin',content_type=ctmodel) can_admin.save() guest.permissions.add(can_view) student.permissions = [can_view, can_take] ta.permissions = [can_view, can_take, can_grade] headta.permissions = [can_view, can_take, can_grade] faculty.permissions = [can_view, can_take, can_grade, can_edit] admin.permissions = [can_view, can_take, can_edit, can_admin] ruby = User.objects.get(username='******') foo = User.objects.get(username='******') java = User.objects.get(username='******') js = User.objects.get(username='******') lang = User.objects.get(username='******') python = User.objects.get(username='******') ruby.groups.add(guest) foo.groups.add(student) java.groups.add(ta)
def handle_noargs(self, **options): somemodel_ct = ContentType.objects.get(app_label='auth', model='user') grupoadmin = Group(name = 'admin') grupoadmin.save() grupoaluno = Group(name = 'aluno') grupoaluno.save() # grupocopiadora = Group(name = 'copiadora') # grupocopiadora.save() permadmin = Permission(name='Permissao admin', codename='permadmin',content_type=somemodel_ct) permadmin.save() permaluno = Permission(name='Permissao aluno', codename='permaluno',content_type=somemodel_ct) permaluno.save() # permcopiadora = Permission(name='Permissao copiadora', codename='permcopiadora',content_type=somemodel_ct) # permcopiadora.save() grupoadmin.permissions = [permadmin, permaluno] grupoaluno.permissions = [permaluno] # grupocopiadora.permissions = [permcopiadora] user = User.objects.create_user('admin', '*****@*****.**', 'admin') user.is_superuser = True user.is_staff = True user.group = [grupoadmin] user.save() def criar_faculdade(faculdade1): faculdade=Faculdade() faculdade.nome=faculdade1 faculdade.save() return faculdade def criar_participante(nome, sobrenome, faculdade, e_mail, telefone, curso, ano_ingresso): # user = User.objects.create_user(username=nome_sobrenome, email="*****@*****.**", password=nome_sobrenome) # user.is_staff = False # user.is_superuser = False # user.groups = [grupoaluno] # user.save() participante = Participante() participante.nome = nome participante.sobrenome=sobrenome participante.faculdade = faculdade participante.e_mail = e_mail participante.telefone = telefone participante.curso = curso participante.ano_ingresso = ano_ingresso participante.save() return participante def criar_atividade(nome, dia, horario, cap_participantes, pont_vendas, preco): atividade = Atividade() atividade.nome = nome atividade.dia = dia atividade.horario = horario atividade.cap_participantes = cap_participantes atividade.pont_vendas = pont_vendas atividade.preco = preco atividade.save() return atividade atividade1=criar_atividade("Marcos Pontes", 'Quarta-Feira', '11:00', '100', '5', '3') atividade2=criar_atividade("Wellington Nogueira", 'Terça-Feira', '11:00', '200', '5', '3') atividade3=criar_atividade("Guilherme Paulus Nogueira", 'Segunda-Feira', '11:00', '150', '5', '3') atividade4=criar_atividade("Sofia Esteves", 'Quinta-Feira', '11:00', '200', '5', '3') atividade5=criar_atividade("Sônia Hess", 'Sexta-Feira', '11:00', '200', '5', '3') def criar_ponto_venda(nome): ponto = PontodeVenda() ponto.nome = nome ponto.save() return ponto def criar_vendedor(nome): vendedor = Vendedor() vendedor.nome = nome vendedor.save() return vendedor faculdade1=criar_faculdade("Poli") faculdade2=criar_faculdade("FEA") faculdade3=criar_faculdade("ECA") faculdade4=criar_faculdade("FAU") faculdade5=criar_faculdade("IME") ponto_venda0=criar_ponto_venda("Nenhum") ponto_venda1=criar_ponto_venda("Bienio") ponto_venda2=criar_ponto_venda("Civil") ponto_venda3=criar_ponto_venda("Mecânica") ponto_venda4=criar_ponto_venda("Eletrica") ponto_venda5=criar_ponto_venda("FEA") vendedor1=criar_vendedor("PV") vendedor2=criar_vendedor("Marcos") vendedor3=criar_vendedor("Nicolas") vendedor4=criar_vendedor("Vinicius") participante1 = criar_participante("Pedro", "Nakachima", faculdade1, "*****@*****.**", "989990992", "Engenharia Mecânica", "2014") participante2 = criar_participante("Marcos", "Thomas", faculdade2, "*****@*****.**", "989582514", "Engenharia Mecânica", "2014") participante3 = criar_participante("Vinicius", "Utsumi", faculdade3, "*****@*****.**", "978651565", "Engenharia Mecânica", "2014") participante4 = criar_participante("Nicolas", "Silva", faculdade4, "*****@*****.**", "923224528", "Engenharia Mecânica", "2014") # copiadora1 = criar_copiadora("Minerva", "*****@*****.**", faculdade1, "62.025.689/0001-66", "Minerva S/A", '(11) 999999999', "alguma rua", "www.exemplo.com", "EU") # copiadora2 = criar_copiadora("FEA Copy", "*****@*****.**", faculdade2, "62.025.666/0001-66", "FEA COPY LTDA", '(11) 777777777', "outra rua", "www.oi.com", "Outra pessoa") # maguilla = criar_aluno("rafael.maguilla", 'Masculino', faculdade1, '50.345.667-6', '412.884.958-89', copiadora1, 123, "Engenharia Eletrica", '(11) 99958-3868', '(11) 3835-8783', "Rua", "Complemento", '1994-09-29') # pv = criar_aluno("pedro.nakachima", 'Masculino', faculdade1, '78.385.667-X', '123.456.958-89', copiadora1, 43, "Engenharia Mecanica", '(11) 98999-0991', '(11) 3835-8783', "Rua", "Complemento", '1994-09-29') # vila = criar_aluno("rafael.vilarinho", 'Masculino', faculdade1, '12.345.334-X', '412.884.887-21', copiadora1, 22435, "Engenharia Civil", '(11) 99494-2535', '(11) 3835-8783', "Rua", "Complemento", '1994-09-29') # maria = criar_aluno("maria.carla", 'Feminino', faculdade1, '09.345.333-6', '123.884.333-12', copiadora1, 2325, "Engenharia Eletrica", '(11) 98492-6388', '(11) 3835-8783', "Rua", "Complemento", '1994-09-29') # lucas = criar_aluno("lucas.scarparo", 'Masculino', faculdade1, '01.301.612-6', '309.111.958-89', copiadora1, 1324, "Engenharia Mecanica", '(11) 98644-5073', '(11) 3835-8783', "Rua", "Complemento", '1994-09-29') # anunciante1 = criar_anunciante('Poli Jr', 'Junior Poli Estudos', '62.025.689/0001-66') # anunciante2 = criar_anunciante('Jacopiei', 'Jacopiei Servicos de Copias Ltda.', '20.451.891/0001-00') print 'Mockup feito com sucesso'