Skip to content
29 changes: 18 additions & 11 deletions crm/site/requestadmin.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,11 +193,14 @@ def changelist_view(self, request, extra_context=None):
def get_form(self, request, obj=None, **kwargs):
form = super().get_form(request, obj, **kwargs)
if request.method == "POST" and '_create-deal' in request.POST:
department_id = request.user.department_id
works_globally = Department.objects.get(
id=department_id).works_globally
if works_globally:
form.country_must_be_specified = True
if obj.case:
form.country_must_be_specified = False
else:
department_id = request.user.department_id
works_globally = Department.objects.get(
id=department_id).works_globally
if works_globally:
form.country_must_be_specified = True
return form

def get_changeform_initial_data(self, request):
Expand Down Expand Up @@ -243,12 +246,16 @@ def save_model(self, request, obj, form, change):
if request.user.is_manager:
obj.subsequent = True

if any((
'_create-deal' in request.POST or 'duplicate' in form.changed_data and obj.duplicate,
'_close-case' in request.POST)):
obj.pending = False
elif '_activate-case' in request.POST:
obj.pending = True
if '_create-deal' in request.POST:
# Do not deactivate if this is a case
if not obj.case:
obj.pending = False
else:
obj.pending = True
elif ('duplicate' in form.changed_data and obj.duplicate) or '_close-case' in request.POST:
obj.pending = False
elif '_activate-case' in request.POST:
obj.pending = True
if not obj.pending:
if not obj.owner:
obj.owner = request.user
Expand Down