Details
-
Type:
Sub-task
-
Status: Done/Fixed
-
Priority:
Major
-
Resolution: Fixed/Completed
-
Affects Version/s: 1.0
-
Fix Version/s: 1.0
-
Labels:None
Description
Modify Log Hours post process to NOT create additional needs when a new contact is added. Instead we will retrieve the default flexible need for the project and link the activity to that need. Then we can save all the data in the 'new volunteer' row to the activity record (including role_id).
— original post —
Go to Log Volunteer Hours for an existing project and Add Volunteer. Fill in only the Contact Name + Actual Duration and Save. A new 'flexible' need is created with NULL visibility_id.
The presence of additional flexible needs messes up the Assign widget (each flex need becomes a new block on left side - see screenshot).
It also is undesirable for Needs UI (screenshot 2).
I think we should try and NOT create additional flex needs from Log Hrs, but need to evaluate.
Thanks, Dave. I'm now able to reproduce this.
Note 1: I've made a change which I haven't PRed yet to fix a problem with the Define Needs UI. This change sets the default value of visibility_id to the public value (which is 1, if I recall correctly) for Needs created via the API. I suspect that any Needs the Log Hours UI creates should not be public by default, so if Log Hours uses the API to create Needs, our solution will need to explicitly make them private.
Note 2: I think instead of creating a new flexible Need, if the role isn't set we should do a lookup for the existing flexible Need and log the hours against that.
Note 3: Hmmm, it seems that when I create a new Need through the Log Hours UI that the start time is thrown out and that, even though I've specified time and role, is_flexible is set to 1. That's probably not what we want.