Skip to content

Commit

Permalink
allow to easily shift mission forecast staffing by 1 month
Browse files Browse the repository at this point in the history
  • Loading branch information
digitalfox committed Mar 15, 2024
1 parent e9ec76f commit ff1f215
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 0 deletions.
1 change: 1 addition & 0 deletions staffing/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
re_path(r'^mission/newfromdeal/(?P<lead_id>\d+)/$', v.create_new_mission_from_lead, name="create_new_mission_from_lead"),
re_path(r'^missions/consultant/(?P<consultant_id>\d+)/$', v.consultant_missions, name="consultant_missions"),
re_path(r'^forecast/mission/(?P<mission_id>\d+)/$', v.mission_staffing, name="mission_staffing"),
re_path(r'^forecast/shift/(?P<shift>\d+)/mission/(?P<mission_id>\d+)/$', v.mission_staffing_shift, name="mission_staffing_shift"),
re_path(r'^mission/(?P<mission_id>\d+)/deactivate$', v.deactivate_mission, name="deactivate_mission"),
re_path(r'^forecast/consultant/(?P<consultant_id>\d+)/$', v.consultant_staffing, name="consultant_staffing"),
re_path(r'^forecast/mass/$', v.mass_staffing, name="mass_staffing"),
Expand Down
15 changes: 15 additions & 0 deletions staffing/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,21 @@ def mass_staffing(request):
"staffing_dates": staffing_dates})


@pydici_non_public
@transaction.atomic
def mission_staffing_shift(request, shift, mission_id, ):
"""Shift forecasted mission staffing by "shift" months"""
#TODO: for now, only 1 month shift is considered.
mission = Mission.objects.get(id=mission_id)
messages.add_message(request, messages.INFO, _("Staffing has been shifted by %s month") % shift)

staffings = Staffing.objects.filter(mission=mission, staffing_date__gte=date.today().replace(day=1)).order_by("-staffing_date")
for staffing in staffings:
staffing.staffing_date = nextMonth(staffing.staffing_date )
staffing.save()

return HttpResponseRedirect(reverse("staffing:mission_home", args=[mission.id])+"#goto_tab-staffing")

@pydici_non_public
@pydici_feature("staffing_mass")
def pdc_review(request, year=None, month=None):
Expand Down
3 changes: 3 additions & 0 deletions templates/staffing/mission_staffing.html
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@
<a role="button" class="btn btn-primary button-link" href="{% url 'staffing:mass_staffing' %}?mission={{ mission.id|unlocalize }}">
<i class="bi bi-bucket"></i> {% trans "Mass staffing for this mission" %}
</a>
<a role="button" class="btn btn-primary button-link" href="{% url 'staffing:mission_staffing_shift' mission_id=mission.id shift=1 %}">
<i class="bi bi-box-arrow-right"></i> {% trans "Shift staffing one month" %}
</a>
{% endif %}
</form>
</div>
Expand Down

0 comments on commit ff1f215

Please sign in to comment.