Skip to content

Commit

Permalink
add lead and client master data information in mission list API
Browse files Browse the repository at this point in the history
  • Loading branch information
digitalfox committed Feb 19, 2025
1 parent cc01051 commit 8cdc9e4
Showing 1 changed file with 34 additions and 18 deletions.
52 changes: 34 additions & 18 deletions staffing/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,22 +32,38 @@ def mission_list(request, start_date=None, end_date=None):
missions = Mission.objects.filter(update_date__gte=start_date, update_date__lte=end_date)
data = []
for mission in missions:
data.append({"lead_id": mission.lead.deal_id if mission.lead else None,
"description": mission.description,
"billing_mode": mission.billing_mode,
"nature": mission.nature,
"management_mode": mission.management_mode,
"subsidiary_code": mission.subsidiary.code,
"subsidiary_name": mission.subsidiary.name,
"responsible": mission.responsible.trigramme if mission.responsible else None,
"price": mission.price,
"analytic_code": mission.mission_analytic_code(),
"marketing_product_code": mission.marketing_product.code if mission.marketing_product else None,
"marketing_product_description": mission.marketing_product.description if mission.marketing_product else None,
"archived": not mission.active,
"archived_date": mission.archived_date,
"start_date": mission.start_date,
"end_date": mission.end_date,
"mission_id": mission.mission_id()
})
mission_data = {"mission_id": mission.mission_id(),
"description": mission.description,
"billing_mode": mission.billing_mode,
"nature": mission.nature,
"management_mode": mission.management_mode,
"subsidiary_code": mission.subsidiary.code,
"subsidiary_name": mission.subsidiary.name,
"responsible": mission.responsible.trigramme if mission.responsible else None,
"price": mission.price,
"analytic_code": mission.mission_analytic_code(),
"marketing_product_code": mission.marketing_product.code if mission.marketing_product else None,
"marketing_product_description": mission.marketing_product.description if mission.marketing_product else None,
"archived": not mission.active,
"archived_date": mission.archived_date,
"start_date": mission.start_date,
"end_date": mission.end_date,
"lead_id": None,
}
if mission.lead:
mission_data.update({"lead_id": mission.lead.deal_id,
"lead_name": mission.lead.name,
"lead_price": mission.lead.sales or 0,
"lead_subsidiary_code": mission.lead.subsidiary.code,
"lead_subsidiary_name": mission.lead.subsidiary.name,
"client_company_name": mission.lead.client.organisation.company.name,
"client_company_code": mission.lead.client.organisation.company.code,
"client_organization_name": mission.lead.client.organisation.name,
})
if mission.lead.responsible:
mission_data.update({"lead_responsible_name": mission.lead.responsible.name,
"lead_responsible_trigramme": mission.lead.responsible.trigramme,
})

data.append(mission_data)
return JsonResponse(list(data), safe=False)

0 comments on commit 8cdc9e4

Please sign in to comment.