Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-1553

CPS 07: Recommendations - Form and Processing


    • Type: Task
    • Status: Done/Fixed
    • Priority: Major
    • Resolution: Fixed/Completed
    • Affects Version/s: Quest-CPS07
    • Fix Version/s: Quest-CPS07
    • Component/s: None
    • Labels:


      The work flow and processing for "Recommenders" has completely changed. The previous (existing) flow was:

      • Student entered data for 3 Recommenders in the "Recommendations" form.
      • The code automatically created 3 contact AND 3 drupal user records (1 for each recommender), along with relationships records
      • Email "invites" were automatically sent to the recommedners.

      The new flow is:

      • The student is required to enter at least 1 recommender. The student can enter up to 3 recommenders.
      • A contact record, and a relationship record between the recommender and the student should be created for each recommender. However, unlike CM '06, we will NOT create Drupal User records for recommenders.
      • New recommender contacts should have contact sub-type set to 'Recommender' and should be added to the existing "Recommenders" group (gid=4).
      • All fields on the form are "core" contact and location fields EXCEPT School/Organization Name. Unlike CM06, we will not create an Organization record for this - but instead store it in a custom field (since we are not collecting any other info about the "school" and not tying it to the student's school/org in any way). The SQL to create this custom field (group+field) should be added to quest_data_cps.myql.
      • A task_status record is also created for each recommender:
        target_entity_id = student contact ID
        responsible_entity_id = contact ID of new recommender
        task_id = 24 (Recommendation Submitted)
        status_id = 326 (Not Started)

      The new form layout and interface is similar to the new HIgh School and Other School forms. Users can add one recommender at a time, and existing recommenders are listed in a selector on the page which includes links to Edit or Delete the recommender. The mockup is here: http://www.questbridge.org/app_staging/cps_07/recs.html

      NOTE on the mockup - the "Add Another Recommender" link shoud use the + icon as is shown on the High School form, rather than the > character.

      When user clicks on 'Edit', the form below the listing appears with information about the recommender. There will only be 1 editable recommender shown at a time. This "add" form is displayed automatically when there are no saved recommenders.

      Allow user to 'Delete Recommender' IF the task status for the "Submit Recommendation" task is "Not Started" (status_id = 326). Once this status has been updated to "Completed" - the Delete action is suppressed for that selector row. The 'Delete' action deletes the relationship between student and recommender contacts only. Delete also sets the status_id for the corresponding task_status record (task_id=24) to 330 (Cancelled). The recommender contact data is NOT deleted.

      The 'Save & Add Another' button will save the recommender information and redisplay the 'Add Recommender' form so the user can enter another recommender.

      The 'Recommender relationship to you' should be used to create the appropriate relationship between student's contact record and recommender's contact record. Like CM '06, there are only two types of relationships: teacher and counselor.

      We should do the default duplicate matching on recommender contact records - and then either insert or update the contact data (update if match). This means that a recommender may be linked (via relationship records) to multiple students. (The implication is that the "latest entered" contact info on that recommender will "override" previous entries - this is ok.




            • Assignee:
              bharat Bharat Shukla
              dgg David Greenberg
            • Votes:
              0 Vote for this issue
              0 Start watching this issue


              • Created: