Commit f6ad696e authored by John Red Medrano's avatar John Red Medrano

allow to delete user when it doesnt have any transaction on CMS or other apps

parent c46c7eeb
......@@ -47,6 +47,25 @@ class UsersManagementViewSet(viewsets.ModelViewSet):
filter_class = table_filters.UserManagementFilter
pagination_class = CustomPagination
@transaction.atomic
def destroy(self, request, *args, **kwargs):
instance = self.get_object()
new_instance = model_to_dict(instance)
instance.applications.remove()
self.perform_destroy(instance)
log_save(
enums.LogEnum.DELETED.value,
enums.LogEntitiesEnum.USER.value,
new_instance['id'],
new_instance,
''
)
return Response(status=status.HTTP_204_NO_CONTENT)
@decorators.error_safe
def list(self, request, *args, **kwargs):
print(request.data['department__name'])
......
# Generated by Django 2.2 on 2019-10-01 11:45
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('entities', '0008_auto_20191001_1118'),
]
operations = [
migrations.AlterField(
model_name='allowedcompany',
name='company_pivot',
field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='allowed_company_company_pivot', to='entities.Company', to_field='code'),
),
migrations.AlterField(
model_name='allowedcompany',
name='group_pivots',
field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='allowed_company_group_pivots', to='entities.Department', to_field='code'),
),
migrations.AlterField(
model_name='allowedcompany',
name='id_number',
field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='allowed_company_id_number', to=settings.AUTH_USER_MODEL, to_field='code'),
),
]
# Generated by Django 2.2 on 2019-10-01 12:00
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('entities', '0009_auto_20191001_1145'),
]
operations = [
migrations.AlterField(
model_name='allowedcompany',
name='company_pivot',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='allowed_company_company_pivot', to='entities.Company', to_field='code'),
),
migrations.AlterField(
model_name='allowedcompany',
name='group_pivots',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='allowed_company_group_pivots', to='entities.Department', to_field='code'),
),
migrations.AlterField(
model_name='allowedcompany',
name='id_number',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='allowed_company_id_number', to=settings.AUTH_USER_MODEL, to_field='code'),
),
migrations.AlterField(
model_name='userimage',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_images', to=settings.AUTH_USER_MODEL, to_field='code'),
),
]
......@@ -287,7 +287,7 @@ class UserImage(AuditClass):
User,
to_field='code',
related_name='user_images',
on_delete=models.PROTECT
on_delete=models.CASCADE
)
name = models.CharField(blank=True, null=True, max_length=255)
image = models.ImageField(upload_to='user_images/', null=True,
......@@ -1005,7 +1005,7 @@ class PasswordReset(models.Model):
class AllowedCompany(models.Model):
id_number = models.ForeignKey(
User,
on_delete=models.PROTECT,
on_delete=models.CASCADE,
to_field='code',
related_name='allowed_company_id_number'
)
......@@ -1013,11 +1013,11 @@ class AllowedCompany(models.Model):
Company,
to_field='code',
related_name='allowed_company_company_pivot',
on_delete=models.PROTECT,
on_delete=models.CASCADE,
)
group_pivots = models.ForeignKey(
Department,
on_delete=models.PROTECT,
on_delete=models.CASCADE,
related_name='allowed_company_group_pivots',
to_field='code'
)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment