Genesys Website issueshttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues2022-11-07T08:16:46+01:00https://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/936Multiple entrypoints2022-11-07T08:16:46+01:00Matija ObrezaMultiple entrypointsWe now use a single app entrypoint `client.tsx` that handles `/admin`, `/dashboard` and `/` routes. This is not ideal for code splitting.
In this ticket we introduce separate entrypoints, one for each part of the Genesys UI.We now use a single app entrypoint `client.tsx` that handles `/admin`, `/dashboard` and `/` routes. This is not ideal for code splitting.
In this ticket we introduce separate entrypoints, one for each part of the Genesys UI.Maksym TishchenkoMaksym Tishchenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/934Admin users and OAuth clients in a table2022-10-17T17:44:37+02:00Matija ObrezaAdmin users and OAuth clients in a tableUpdate display of users and oauth clients from `Card` to `Table`.Update display of users and oauth clients from `Card` to `Table`.2022.5Maksym TishchenkoMaksym Tishchenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/933User profile: Delete my account2022-11-16T09:32:48+01:00Matija ObrezaUser profile: Delete my accountIn this ticket we add a tool for any user to "Delete my account" from Genesys.
## Dashboard
Add a button "Delete my account" that opens a dialog with:
- description: "After you submit this form we will send you an email with the <i>Ac...In this ticket we add a tool for any user to "Delete my account" from Genesys.
## Dashboard
Add a button "Delete my account" that opens a dialog with:
- description: "After you submit this form we will send you an email with the <i>Account removal link</i>. Clicking that link will bring you back to this website and you will have the final opportunity to change your mind."
- a challenge: the message "To delete your account please type {randomWord} in the text box:" + `<input type="text"`
- Buttons **Cancel** and **Send the link**.
## Account removal
That *Account removal link* opens a form (similar to *Forgot password*) with a form for:
- the `key` that was sent in the email
- captcha
- Button **Remove account**
**Remove account** then makes the final API call with the `uuid` + `key`. The endpoint checks if these match and will call `archiveUserByToken()`. It will also clear the current security context, reset the session, clear cookies, etc.
When the API call returns `200 OK`, the UI will also log the user out and redirect to the entry page.
## API
The API needs to generate a token + key (like we do for forgot password) and use a email templates (from CMS `Article`).2022.6Maksym TishchenkoMaksym Tishchenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/932Admin - Users - sending emails2022-10-18T09:20:24+02:00Matija ObrezaAdmin - Users - sending emailsThe Administrator is able to select (filtered) `Users` in the table and in the FAB click the "Send email".
## "Send email" dialog
The dialog title says `Send email to {users.length} users`. The main part of the template is a `textarea`...The Administrator is able to select (filtered) `Users` in the table and in the FAB click the "Send email".
## "Send email" dialog
The dialog title says `Send email to {users.length} users`. The main part of the template is a `textarea` where I can modify the email message template.
There are three buttons **Cancel**, **Send to me only** and **Send {users.length} emails**.
**Send to me only** puts my current `user.uuid` as the only element of the new API call implemented in genesys-pgr/genesys-server#646.
## Default template
```
<p>Hello ${user.fullName},</p>
<p>Greetings from Genesys! You are receiving this message because you are a registered user at ${frontendUrl}.</p>
<p></p>
<p>
Best regards,<br />
Genesys team
</p>
```
## Use case
```
<p>Hello ${user.fullName},</p>
<p>Greetings from Genesys!
You are receiving this message because you are a registered user at ${frontendUrl}.</p>
<p>You have not used this account since ${user.lastLogin|'ever'}.
We would like to confirm that you are not using this user
account anymore and that it can be removed from our system.
We will remove this user account on 1 December 2022.</p>
<p>If you wish to continue using this account, then please log in to ${frontendUrl} before December.
You are using a <b>${user.accountType}</b> login with <b>${user.email}</b> as username.</p>
<p>It is likely that your account already expired.
In that case please use the password reset function available on
the login form.</p>
<p>Note that even if this user account gets removed,
you will still be able to create a new account on ${frontendUrl}
using the same email address.</p>
<p></p>
<p>
Best regards,<br />
Genesys team
</p>
```2022.5Maksym TishchenkoMaksym Tishchenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/931UI: Add a checkbox in the registration form2022-09-30T22:25:05+02:00Christelle RabilUI: Add a checkbox in the registration formIn the registration page of an account in Genesys: https://www.genesys-pgr.org/registration
Please add a checkbox that is required to enable the `Register` button. The text next to it is:
> - [ ] By submitting the request for materia...In the registration page of an account in Genesys: https://www.genesys-pgr.org/registration
Please add a checkbox that is required to enable the `Register` button. The text next to it is:
> - [ ] By submitting the request for material to Genesys, you consent to the Crop Trust processing your personal data in accordance with the [Crop Trust Data Protection Policy](https://www.croptrust.org/fileadmin/uploads/croptrust/Documents/Policy_Documents/Crop-Trust-Data-Protection-Policy.pdf). You can contact [dataprotection@croptrust.org](mailto:dataprotection@croptrust.org) for any data protection related questions or inquiries.Maksym TishchenkoMaksym Tishchenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/930Admin archiving user accounts2022-10-25T07:53:49+02:00Christelle RabilAdmin archiving user accountsAfter discussing with Zeynep GDPR compliance and the aspect of deleting unnecessary data, we discussed automating the archiving of accounts that have been inactive for some time (two years +). We first can send an email to users saying "...After discussing with Zeynep GDPR compliance and the aspect of deleting unnecessary data, we discussed automating the archiving of accounts that have been inactive for some time (two years +). We first can send an email to users saying "if you do not login in to Genesys within the next 30 days, your account will be deleted + link to login". To be based on https://gitlab.croptrust.org/genesys-pgr/genesys-support/-/issues/151
We'll do this in steps:
- [x] genesys-pgr/genesys-ui#934: Change display of users from <Card to <Table (so we get select function and better sorting)
- [x] genesys-server#646: Add endpoint to send emails to selected users, with a configurable message template
- [x] #932: Add FAB with "Send email" that prompts for the template and then makes the API call to send messages
This will allow us to send official-(sandbox)-looking emails to users and then after a month we can go in and archive the old accounts:
- [ ] #930 (this issue): Add to FAB a "Archive users" that calls API and archives the selected users
## Archive users
Add to FAB a "Archive users" that calls API and archives the users selected in the table. I figure we have a multi-op API call for that already.2022.5Maksym TishchenkoMaksym Tishchenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/929Cookies consent dialog2022-10-18T14:06:10+02:00Christelle RabilCookies consent dialogWe need to include a cookie consent dialog that says we need essential cookies and an “accept” box that they need to accept in order to proceed to Genesys, otherwise they can just close the page.
Sample dialog:
![image](/uploads/27271a...We need to include a cookie consent dialog that says we need essential cookies and an “accept” box that they need to accept in order to proceed to Genesys, otherwise they can just close the page.
Sample dialog:
![image](/uploads/27271ab3725548e80e40a72b5bc2d444/image.png)
**Note:** Just use our regular styles and buttons :smile:
"Privacy statement" should link to */content/legal/privacy* page.
## Implementation
Add a (functional) `<CookiePolicy` component to the main `<App`.
The component will check if there is a cookie named `COOKIECOOKIE`.
`COOKIECOOKIE` cookie is an essential cookie that identifies that a user accepted the essential cookies.
If such cookie exists, then return `null` (also in SSR). Any suggestions how we can identify robots?
If there is no such cookie, then the component returns a container `div`. We will use `setTimeout` on the client (with a timeout of `XXXms`) and toggle the visibility of the dialog.
The dialog is centered in the page, displayed at the bottom of the page.
## On **I agree**
Add the `COOKIECOOKIE` cookie with value of `new Date()` and set it to expire in 3 months.2022.5Maksym TishchenkoMaksym Tishchenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/928Requesting: Country code2022-09-23T13:49:03+02:00Matija ObrezaRequesting: Country codeThe autocompleter for country code in the form is not working (sometimes):
![image](/uploads/5345ee13d0446376c2193122337cbcae/image.png)
Can we change the validator to use regexp `/^[A-Z]{3}$/gi`? The autocompleter helper tool can stay...The autocompleter for country code in the form is not working (sometimes):
![image](/uploads/5345ee13d0446376c2193122337cbcae/image.png)
Can we change the validator to use regexp `/^[A-Z]{3}$/gi`? The autocompleter helper tool can stay, but if I type in a code manually then it should accept it.
The `helperText` for this field should say "Type the ISO3 country code, or type the country name to use the autocompleter function".2022.4Maksym TishchenkoMaksym Tishchenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/927UI: Clicking on the image is not opening the full-size version2022-09-22T20:01:02+02:00Christelle RabilUI: Clicking on the image is not opening the full-size versionThis is a bug in Genesys UI, Clicking on the image is supposed to open the full-size version but it is not, for example here: https://www.genesys-pgr.org/10.18730/FPYZUThis is a bug in Genesys UI, Clicking on the image is supposed to open the full-size version but it is not, for example here: https://www.genesys-pgr.org/10.18730/FPYZUMaksym TishchenkoMaksym Tishchenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/926Requests for material not being submitted in Sandbox2022-09-22T10:01:48+02:00Christelle RabilRequests for material not being submitted in SandboxAfter passing the Captcha and pressing "Submit request", an error message is displayed "Unknown error". This bug was fixed by @mobreza in production between August 10-12 but we need to fix it in Sandbox as well.
https://sandbox.genesys-...After passing the Captcha and pressing "Submit request", an error message is displayed "Unknown error". This bug was fixed by @mobreza in production between August 10-12 but we need to fix it in Sandbox as well.
https://sandbox.genesys-pgr.org/requests/create/submit
![Screenshot_2022-09-01_at_11.47.43](/uploads/6d90e506d28047ca8432376f2ca65b64/Screenshot_2022-09-01_at_11.47.43.png)Vladyslava MokliakVladyslava Mokliakhttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/925"Last updated" date did not update for institue ETH013 after they uploaded im...2022-09-06T14:55:24+02:00Christelle Rabil"Last updated" date did not update for institue ETH013 after they uploaded images to many accessionsFor example this accession: https://www.genesys-pgr.org/10.18730/FPYZU had an image added to it yeserday, but the "Last updated" date on Metadata is still showing up in 2018.For example this accession: https://www.genesys-pgr.org/10.18730/FPYZU had an image added to it yeserday, but the "Last updated" date on Metadata is still showing up in 2018.Vladyslava MokliakVladyslava Mokliakhttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/924Data protection: Consent2022-09-30T10:43:11+02:00Christelle RabilData protection: ConsentAdd a required consent box to submitting requests, creating Genesys accounts, and any other applicable field (maybe also in GGCE and Community) saying "I consent to Crop Trust processing my data etc."Add a required consent box to submitting requests, creating Genesys accounts, and any other applicable field (maybe also in GGCE and Community) saying "I consent to Crop Trust processing my data etc."Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/923UI: Breadcrumbs bug2022-09-22T16:31:14+02:00Christelle RabilUI: Breadcrumbs bugSome titles of articles include text in italics or bold, in the breadcrumbs it is showing in markdown mode, for example: https://www.genesys-pgr.org/subsets/f70883d7-b538-4817-a8e8-2fba50b65cbc
![Screenshot_2022-08-09_at_16-54-58_The_to...Some titles of articles include text in italics or bold, in the breadcrumbs it is showing in markdown mode, for example: https://www.genesys-pgr.org/subsets/f70883d7-b538-4817-a8e8-2fba50b65cbc
![Screenshot_2022-08-09_at_16-54-58_The_top_most_distributed_Oryza_sativa_germplasm](/uploads/c0ea90f74702c707a613f8da48042299/Screenshot_2022-08-09_at_16-54-58_The_top_most_distributed_Oryza_sativa_germplasm.png)Maksym TishchenkoMaksym Tishchenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/922UI: Community theme2023-11-13T10:18:33+01:00Matija ObrezaUI: Community themecommunity.genesys-pgr.org is a test/pilot forum using Discourse. Its UI needs to be adapted to fit the current Genesys UI.
The following will help:
- https://meta.discourse.org/t/designers-guide-to-discourse-themes/152002
- https://met...community.genesys-pgr.org is a test/pilot forum using Discourse. Its UI needs to be adapted to fit the current Genesys UI.
The following will help:
- https://meta.discourse.org/t/designers-guide-to-discourse-themes/152002
- https://meta.discourse.org/t/theme-creator-create-and-show-themes-without-installing-discourse/84942
- https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966yPratichi DattaniPratichi Dattanihttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/921UI: Breadcrumbs maximum characters2022-07-25T10:43:19+02:00Christelle RabilUI: Breadcrumbs maximum charactersWe reviewed the breadcrumbs maximum characters function, and we would like to keep it in mobile version as it is now. Edits to the desktop version: The breadcrumbs can go all the way up to the margin of the "Login" button, after that the...We reviewed the breadcrumbs maximum characters function, and we would like to keep it in mobile version as it is now. Edits to the desktop version: The breadcrumbs can go all the way up to the margin of the "Login" button, after that there would be a [...]https://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/920UI: Accessibility and colors2023-11-13T10:18:17+01:00Christelle RabilUI: Accessibility and colorsplaceholder for Pratichiplaceholder for Pratichihttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/919UI: Breadcrumbs update2023-11-13T10:18:23+01:00Christelle RabilUI: Breadcrumbs updateWe reviewed the breadcrumbs maximum characters function, and we would like to keep it in mobile version as it is now.
Updates for the **desktop** only:
- The breadcrumbs can use the entire available width (all the way to the margin of ...We reviewed the breadcrumbs maximum characters function, and we would like to keep it in mobile version as it is now.
Updates for the **desktop** only:
- The breadcrumbs can use the entire available width (all the way to the margin of the "Login" button), and the last item would be clipped \[...\] if necessary
- When scrolling down the page, can the breadcrumbs should remain visible (not in mobile version)Vladyslava MokliakVladyslava Mokliakhttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/918UI: z-index2022-08-02T19:33:40+02:00Matija ObrezaUI: z-indexThe menu should cover the page contents (`height: calc(100vh - ??px)`) and the z-index needs to be such that it covers the Sidebar:
![image](/uploads/d8b0c00587917db39a267e27d6dbc032/image.png)The menu should cover the page contents (`height: calc(100vh - ??px)`) and the z-index needs to be such that it covers the Sidebar:
![image](/uploads/d8b0c00587917db39a267e27d6dbc032/image.png)2022.4Oleksii PlotnykovOleksii Plotnykovhttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/916Network page padding2022-08-02T19:33:17+02:00Matija ObrezaNetwork page paddingThe network browse page needs a minor update so that there is some padding between the page contents (last network) and the footer:
![image](/uploads/1a17cf5438e92953a9ef24eeb6a1c427/image.png)
See crops or partners for example.The network browse page needs a minor update so that there is some padding between the page contents (last network) and the footer:
![image](/uploads/1a17cf5438e92953a9ef24eeb6a1c427/image.png)
See crops or partners for example.2022.4Oleksii PlotnykovOleksii Plotnykovhttps://gitlab.croptrust.org/genesys-pgr/genesys-ui/-/issues/915UI: Breadcrumbs2022-07-25T10:40:23+02:00Christelle RabilUI: BreadcrumbsSome pages in Genesys include breadcrumbs like this one: https://www.genesys-pgr.org/content/news/138/genesys-advisory-committee-meets-again
![Screenshot_2022-06-30_at_14-54-01_Genesys_Advisory_Committee_meets_again](/uploads/4ed8eff2b7...Some pages in Genesys include breadcrumbs like this one: https://www.genesys-pgr.org/content/news/138/genesys-advisory-committee-meets-again
![Screenshot_2022-06-30_at_14-54-01_Genesys_Advisory_Committee_meets_again](/uploads/4ed8eff2b77ce782d41c03bb3433e8c0/Screenshot_2022-06-30_at_14-54-01_Genesys_Advisory_Committee_meets_again.png)
The point of these is to guide the user on how to get to this page on their own from the Genesys homepage, not necessarily every crumb is a hyperlink.
For starters, please remove any "Back" or "Back to.." item on the right hand side, then please rename the article under "Resources" titled "Passport Data" to "Accession documentation", then please re-organize and rename these breadcrumbs in the following way: (general logic: menu item name > sub menu name > etc.) Please let me know if I can provide further info or clarifications:
| Navigation menu items | Pages in the menu items | Content in the pages of the menu items | Links to other places | Links to other places |
|-----------------------|-------------------------------------------|-----------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------|
| Accession Data | >Passport data | Overview | open all links in new tabs and use their corresponding breadcrumbs in Directory where they are accessed from in the homepage, the rest is filetrs | cf. Directory |
| | | Accessions | after clicking on an Accession name: >[accession name] | open new tabs to Directory pages or external pages |
| | | Accessions | after clicking on links from "Holding Instititue" and "Provenance of material" columns: open in new tabs and use corresponding links of Directory | cf. Directory |
| | | Map | after clicking on an Accession dot then one of the links in the dots: >[accession name] | open new tabs to Directory pages or external pages |
| | | Images | after clicking on an Accession name: >[accession name] | open new tabs to Directory pages or external pages |
| | >Subsets and core collections | >[subset name first 40 characters then …] | after clicking on intstitute name: open in new tabs and use corresponding links of Directory | |
| | | | after cliking on accession, use the breadcrumb of Passport Data>Accessions>[accession name] | |
| | >Characterization and Evaluation datasets | >[dataset name first 40 characters then …] | after clicking on intstitute name: open in new tabs and use corresponding links of Directory | |
| | | | after clicking on descriptor: >[descriptor title first 40 characters then …] | |
| | | | after cliking on accession, use the breadcrumb of Passport Data>Accessions>[accession name] | |
| | >Crop descriptor lists | >[descriptor list title first 40 characters then …] | after clicking on descriptor: >[descriptor title first 40 characters then …] | link to data provider opens in a new tab with Directory breadcrumbs |
| Directory | >Highlighted crops | >[crop name] | after clicking on intstitute name: open in new tabs and use corresponding links of Directory | |
| | | | after clicking on the number of accession: cf. Passport Data breadcrumbs and open in new tab | |
| | | | after clicking on Recent Datasets/Descriptor lists cf. datasets or descriptor lists breadcrumbs in new tab | |
| | | | after clicking on a diversity tree: >[diversity tree name 40 characters max then …] | |
| | >Provenance of PGRFA | >[provenance name] | after clicking on the number of accession: cf. Passport Data breadcrumbs and open in new tab | |
| | | | after clicking on genebank >[FAO WIEWS code] | |
| | >Data providers to Genesys | >[Data provider name] | >[FAO WIEWS code] | |
| | >PGRFA networks in Genesys | >[network name] | links open in new tabs with their resective breadcrumbs | |
| Resources | >About Genesys | | | |
| | >Recent activity | >[post name maximum 40 characters and then …] | | |
| | >Join Genesys | | | |
| | >Citation and attribution | | | |
| | >Contact us | | | |
| | >Accession documentation | | | |
| | >Genesys API | | | |
| | >BrAPI | | | |Oleksii PlotnykovOleksii Plotnykov