Recurring shifts closes #1141 closes #1156 closes #1155 closes #1161 closes #1146 closes 1152

pulled fn out into @_updateViewWithNewShift and also pulled @_addViewDataToUsers into that fn as well to eliminate duplication