def test_unlocked_user(self): assert can_forecast_be_edited(self.test_user) self.lock() assert not can_forecast_be_edited(self.test_user) UnlockedForecastEditorFactory(user=self.test_user, ) assert can_forecast_be_edited(self.test_user)
def test_can_edit_whilst_closed_permission(self): self.close() assert not can_forecast_be_edited(self.test_user) self.assign_permission("can_edit_whilst_closed") assert can_forecast_be_edited(self.test_user) self.lock() assert not can_forecast_be_edited(self.test_user)
def test_super_user(self): self.test_user.is_superuser = True self.test_user.save() assert can_forecast_be_edited(self.test_user) self.close() assert can_forecast_be_edited(self.test_user) self.lock() assert can_forecast_be_edited(self.test_user)
def dispatch(self, request, *args, **kwargs): # If edit is open, redirect to choose CC page if can_forecast_be_edited(request.user): return redirect(reverse("choose_cost_centre")) return super(EditUnavailableView, self).dispatch( request, *args, **kwargs, )
def test_func(self): if "cost_centre_code" not in self.kwargs: raise NoCostCentreCodeInURLError( "No cost centre code provided in URL") self.cost_centre_code = self.kwargs["cost_centre_code"] has_permission = can_edit_cost_centre( self.request.user, self.cost_centre_code, ) user_can_edit = can_forecast_be_edited(self.request.user) if not user_can_edit: self.edit_not_available = True return False return has_permission
def test_lock(self): assert can_forecast_be_edited(self.test_user) self.lock() assert not can_forecast_be_edited(self.test_user)
def test_close(self): assert can_forecast_be_edited(self.test_user) self.close() assert not can_forecast_be_edited(self.test_user)