Updated Cooperator form
When adding a new Cooperator
record, GG-CE should make an API call to check if similar Cooperators exist in the database. When there are similar cooperators, the UI should display the similarities (like they are displayed when clicking "Similar" button). The user can then decide if they still wish to Save the new record.
- This requires a new API endpoint that accepts an unsaved
Cooperator
record and executes a similarity search against it.
When updating an existing Cooperator
record the user needs to have a new button to Save as New.
- This requires a new API endpoint (based on
update(cooperator)
) that will create a newCooperator
and update the original record:status = INACTIVE
,currentCooperator = newOne
.
Please update the form to include *_hint
with fields (like we use in the Viability module). Please update client/model/translations.json
with the following:
{
"Cooperator": {
"id": "Cooperator ID",
"id_hint": "cooperator_id -- The cooperator table's primary key (PK) field which is generated by GRIN-Global; cannot be edited",
"currentCooperator": "Current Cooperator",
"currentCooperator_hint": "current_cooperator_id -- Filled in by GG when the record is intially saved. By default, it uses the cooperator key field to link, self-referencing to the cooperator table, and then selects the current address information. Field can be manually overridden to select a different cooperator",
"lastName": "Last Name",
"lastName_hint": "last_name -- The last name of the cooperator. Leave blank if the cooperator record is the record for an institution",
"title": "Title",
"title_hint": "title -- Title of the cooperator. Must be a value in the Code Group COOPERATOR_TITLE.Examples: Dir., Dr., Frl., Ms. ... Rev.",
"firstName": "First Name",
"firstName_hint": "first_name -- First and any other given names of the cooperator",
"job": "Job",
"job_hint": "job -- The cooperator's job (or position)",
"organization": "Organization",
"organization_hint": "organization -- The full organization or institute name",
"addressLine1": "Address Line 1",
"addressLine1_hint": "address_line1 -- The subdivision (Department, Branch, Unit, Division) of the organization if one exists. Otherwise it contains address information (e.g., Street, P.O. Box)",
"addressLine2": "Address Line 2",
"addressLine2_hint": "address_line2 -- Second address line",
"addressLine3": "Address Line 3",
"addressLine3_hint": "address_line3 -- Third address line",
"city": "City",
"city_hint": "city -- City where the cooperator is located. Any postal code should be placed in the postal index column",
"postalIndex": "Postal Index",
"postalIndex_hint": "postal_index -- The postal index for the address",
"geography": "Geography",
"geography_hint": "geography_id -- The internal geographic identifier indicating the cooperator's country and state",
"primaryPhone": "Primary Phone",
"primaryPhone_hint": "primary_phone -- Telephone number for the cooperator",
"secondaryPhone": "Secondary Phone",
"secondaryPhone_hint": "secondary_phone -- Alternate phone number of the cooperator",
"fax": "Fax",
"fax_hint": "fax -- FAX number of the cooperator",
"email": "Email",
"email_hint": "email -- Email addresses of the cooperator",
"categoryCode": "Category",
"categoryCode_hint": "category_code -- General categories for grouping cooperators by national or international affiliation. Mainly used for management queries (e.g., annual distribution report). Examples: INT, FPRU, STA, UARS. Must be a value in the COOPERATOR_CATEGORY Code Group",
"site": "Site",
"site_hint": "site_id -- Site responsible for the cooperator record",
"organizationAbbrev": "Organization Abbreviation",
"organizationAbbrev_hint": "organization_abbrev -- Abbreviation, acronym or initials of the organization",
"secondaryOrganization": "Secondary Organization",
"secondaryOrganization_hint": "secondary_organization -- The alternate organization or institute name of the cooperator",
"secondaryOrganizationAbbrev": "Secondary Organization Abbreviation",
"secondaryOrganizationAbbrev_hint": "secondary_organization_abbrev -- Abbreviation, acronym or initials of the organization",
"secondaryAddressLine1": "Secondary Address Line 1",
"secondaryAddressLine1_hint": "secondary_address_line1 -- The alternate subdivision (Department, Branch, Unit, Division) of the organization if one exists. Otherwise it contains address information (e.g., Street, P.O. Box).",
"secondaryAddressLine2": "Secondary Address Line 2",
"secondaryAddressLine2_hint": "secondary_address_line2 -- Second line of the alternate address",
"secondaryAddressLine3": "Secondary Address Line 3",
"secondaryAddressLine3_hint": "secondary_address_line3 -- Third line of the alternate address",
"secondaryCity": "Secondary City",
"secondaryCity_hint": "secondary_city -- Alternate city where the cooperator is located. Any postal code should be placed in the postal index column",
"secondaryPostalIndex": "Secondary Postal Index",
"secondaryPostalIndex_hint": "secondary_postal_index -- Alternate postal index for the address",
"secondaryGeography": "Secondary Geography",
"secondaryGeography_hint": "secondary_geography_id -- Internal geographic identifier to indicate the alternate country and state of the cooperator",
"statusCode": "Status",
"statusCode_hint": "status_code -- Indicates if the record is the current address for the cooperator. (The ACTIVE status indicates that it is current.) Must be a vaue in the COOPERATOR_STATUS Code Group",
"organizationRegionCode": "Organization Region",
"organizationRegionCode_hint": "organization_region_code -- A code for an organizational region. Must be a value in the ORGANIZATION_REGION Code Group. Example: The values BA, HDQ, SAA. represent the ARS region where the cooperator is located if in the United States",
"disciplineCode": "Discipline",
"disciplineCode_hint": "discipline_code E332-- The primary scientific discipline or interest of the cooperator. Must be a value in the COOPERATOR_DISCIPLINE Code Group. Examples: Botany, Breeding",
"sysLang": "Language",
"sysLang_hint": "sys_lang_id -- The internal system language identifier which serves as a link to the system language table indicating the actual language used. For example, 2 = Spanish",
"secondaryEmail": "Secondary Email",
"secondaryEmail_hint": "secondary_email -- Alternate email addresses of the cooperator",
"webCooperator": "Web Cooperator",
"webCooperator_hint": "web_cooperator_id -- Web cooperator records originate in the Public Website, usuaully when a user self-registers. This field can link a web_cooperator record to a (standard) cooperator record"
},
"CooperatorGroup": {
"id": "Cooperator Group ID",
"id_hint": "cooperator_group_id -- The cooperator group table's primary key (PK) field. GRIN-Global generates the field; it cannot be edited",
"name": "Name",
"name_hint": "name -- Name of the cooperator group",
"isGroupActive": "Is Group Active?",
"isGroupActive_hint": "is_group_active -- Y/N flag indicating that members will retain their former address when the cooperator address is updated",
"site": "Site",
"site_hint": "site_id -- links the Site record",
"categoryCode": "Category",
"categoryCode_hint": "category_code -- General categories for grouping cooperators by national or international affiliation. Mainly used for management queries (e.g., annual distribution report). Must be a value in the COOPERATOR_CATEGORY Code Group. Examples: INT, FPRU",
"groupTag": "Group Tag",
"groupTag_hint": "group_tag -- A sub-grouping of cooperators below the cooperator group"
},
"CooperatorMap": {
"id": "Cooperator Map ID",
"id_hint": "cooperator_map_id -- The cooperator map table's primary key (PK) field auto-generated by GRIN-Global; cannot be edited",
"cooperator": "Cooperator",
"cooperator_hint": "cooperator_id -- The cooperator field links to the cooperator table",
"cooperatorGroup": "Cooperator Group",
"cooperatorGroup_hint": "cooperator_group_id -- The cooperator group field links to the cooperator group table"
}
}