I have a dilemma about what is the best (and correct) approach if I want to disable form controls (or at least make them unavailable for user interaction) during a period of
Wrap all your fields in fieldset and use ngDisabled directive like this:
... inputs ...
It will automatically disable all inputs inside the fieldset.
Then in controller set $scope.isSaving to true before http call and to false after.
$scope.isSaving
true
false