1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- from tickets.models import *
- from django.contrib.contenttypes.models import ContentType
- from django.contrib.auth.models import Group, Permission
- from django.http import HttpResponse
- import csv
- def add_perm(group, permissions, contenttype):
- tct = ContentType.objects.get_for_model(contenttype)
- for i in permissions:
- group.permissions.add(Permission.objects.get(codename=i, content_type=tct))
- def export_to_csv(modeladmin, request, queryset):
- meta = modeladmin.model._meta
- field_names = [field.name for field in meta.fields]
- #field_show_names = [field.verbose_name for field in meta.fields]
- response = HttpResponse(content_type='text/csv')
- response['Content-Disposition'] = 'attachment; filename={}.csv'.format(meta)
- writer = csv.writer(response)
- writer.writerow(field_names)
- #writer.writerow(field_show_names)
- for obj in queryset:
- row = writer.writerow([getattr(obj, field) for field in field_names])
- return response
- def add_default_ticketstype():
- if not TicketType.objects.filter(name="SERVICE_REQUEST"):
- TicketType.objects.create(name="SERVICE_REQUEST", life_cycle="210-211-251,211-212-220-238-249,212-221-229-238-249,221-222-238-249,220-211-238-249,229-211-251,222-231-238-249,231-241-238-249,238-231-239-211-212-221-220-222-249,239-231-239-211-212-221-220")
- TicketType.objects.create(name="ST_REQUEST", life_cycle="111-121-149-159,110-121-149-159,121-131-149-159,131-141-149,141-151-110,149-151-110,159,151")
- TicketType.objects.create(name="NEG_REQUEST", life_cycle="420-421-459,421,459")
- TicketType.objects.create(name="ACCESS_REQUEST", life_cycle="320-321-359,321,359")
- def add_default_group():
- if not Group.objects.filter(name="meta-user"):
- #Meta user
- group = Group.objects.create(name="meta-user")
- add_perm(group, ['add_task', 'change_task', 'view_task'], Task)
- #Platform admin
- group = Group.objects.create(name="platform-admin")
- add_perm(group, ['add_attachment', 'view_attachment'], Attachment)
- add_perm(group, [ 'add_comment', 'view_comment'], Comment)
- add_perm(group, [ 'add_task', 'change_task', 'view_task'], Task)
- group = Group.objects.create(name="platform-supervisor")
- add_perm(group, ['add_attachment', 'view_attachment'], Attachment)
- add_perm(group, [ 'add_comment', 'view_comment'], Comment)
- add_perm(group, [ 'add_task', 'change_task', 'view_task'], Task)
- group = Group.objects.create(name="platform-support")
- add_perm(group, [ 'add_comment', 'view_comment'], Comment)
- add_perm(group, [ 'add_task', 'change_task', 'view_task'], Task)
- group = Group.objects.create(name="platform-techsupport")
- add_perm(group, ['add_attachment', 'view_attachment'], Attachment)
- add_perm(group, [ 'add_comment', 'view_comment'], Comment)
- add_perm(group, [ 'add_task', 'change_task', 'view_task'], Task)
- def add_default_tickets_list(request):
- if not TaskList.objects.filter(name="Заявки клиентов"):
- if not Group.objects.filter(name="TestGroup"):
- group = Group.objects.create(name="TestGroup")
- group.user_set.add(request.user)
- else:
- group = Group.objects.get(pk=1)
- TaskList.objects.create(name="Заявки клиентов", slug="customer-applications", group=group)
- def add_default_ticketstype_admin(modeladmin, request, queryset):
- add_default_ticketstype()
- def add_default_group_admin(modeladmin, request, queryset):
- add_default_group()
- def add_default_tickets_list_admin(modeladmin, request, queryset):
- add_default_tickets_list(request)
- add_default_tickets_list_admin.short_description = "Создать значения по умолчанию"
- add_default_ticketstype_admin.short_description = "Создать значения по умолчанию"
- add_default_group_admin.short_description = "Создать значения по умолчанию"
- export_to_csv.short_description = "Экспортировать в CSV"
|