Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,10 @@ type DistributionWithCatalogName = {
};

export enum RecipientOptionGroup {
DEFAULT = '1DefaultGroup',
CONTRACTS = '2ContractsGroup',
DISTRIBUTION = '3DistributionGroup',
TOP = '0TopGroup',
CONTRACTS = '1ContractsGroup',
DISTRIBUTION = '2DistributionGroup',
DEFAULT = '3DefaultGroup',
}

export interface RecipientOption {
Expand Down Expand Up @@ -140,7 +141,7 @@ const RecipientGroup = ({
}
}, [group, groupOpenByKey, groupKey, setGroupOpenByKey]);

const isDefault = group === RecipientOptionGroup.DEFAULT;
const isDefault = group === RecipientOptionGroup.DEFAULT || group === RecipientOptionGroup.TOP;
const isContracts = group === RecipientOptionGroup.CONTRACTS;

const toggleList = useCallback(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,22 @@ const MessagesForm = ({
const { t } = useTranslation(['messages/default']);
const { t: tLists } = useTranslation(['members/lists']);

const DEFAULT_ORDER: string[] = [
'withRunningContract',
'withCommandInNextDistribution',
'noCommandInNextDistribution',
'admins',
'catalogsContacts',
'vendors',
'membership',
'noMembership',
'hasOrders',
'hasNoOrders',
'waitingList',
'test',
'newUsers',
];

const defaultRecipientsOptions: RecipientOption[] = defaultUserLists
// the 'vendor' type in userlists only lists user-vendors (vendors claimed by a user)
// here we want to be able to reach all vendors, so we filter out this list and add it manually
Expand All @@ -62,11 +78,19 @@ const MessagesForm = ({
value: ul.type,
key: ul.type,
label: formatUserList(ul, tLists),
group: RecipientOptionGroup.DEFAULT,
group: ul.type === 'all' ? RecipientOptionGroup.TOP : RecipientOptionGroup.DEFAULT,
disabled: ul.count === 0,
}),
);

const vendorsLists = UserLists.VENDORS;
defaultRecipientsOptions.push({
key: vendorsLists.type,
value: vendorsLists.type,
label: tLists(vendorsLists.type),
group: RecipientOptionGroup.DEFAULT,
disabled: false,
});
const testLists = UserLists.TEST;
defaultRecipientsOptions.push({
key: testLists.type,
Expand All @@ -75,13 +99,12 @@ const MessagesForm = ({
group: RecipientOptionGroup.DEFAULT,
disabled: false,
});
const vendorsLists = UserLists.VENDORS;
defaultRecipientsOptions.push({
key: vendorsLists.type,
value: vendorsLists.type,
label: tLists(vendorsLists.type),
group: RecipientOptionGroup.DEFAULT,
disabled: false,

defaultRecipientsOptions.sort((a, b) => {
if (a.group !== b.group) return a.group.localeCompare(b.group);
const aIdx = DEFAULT_ORDER.indexOf(a.value);
const bIdx = DEFAULT_ORDER.indexOf(b.value);
return (aIdx === -1 ? 999 : aIdx) - (bIdx === -1 ? 999 : bIdx);
});

let senderEmail = '';
Expand Down
16 changes: 8 additions & 8 deletions public/locales/fr/members/lists.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
{
"all": "Tous les membres du groupe",
"test": "TEST : moi + partenaire",
"admins": "Les administrateurs",
"admins": "Membres avec des droits admin",
"hasNoOrders": "Membres sans commande",
"hasOrders": "Membres avec commande",
"noMembership": "Adhésions à renouveler",
"membership": "Adhésions à jour",
"noMembership": "Membres avec adhésions à renouveler",
"membership": "Membres avec adhésions à jour",
"contractSubscribers": "{{name}} du {{startDate}} au {{endDate}}",
"newUsers": "Ne s'est jamais connecté",
"waitingList": "Liste d'attente",
"waitingList": "Membres en liste d'attente",
"withProductToGetOnDistribution": "Distribution du {{date}} : {{catalogName}}",
"withCommandInNextDistribution": "Ayant déjà commandé pour la prochaine distribution",
"noCommandInNextDistribution": "N'ayant pas commandé pour la prochaine distribution",
"withRunningContract": "Avec un contrat AMAP en cours",
"withCommandInNextDistribution": "Membres avec commande pour la prochaine distribution",
"noCommandInNextDistribution": "Membres sans commande pour la prochaine distribution",
"withRunningContract": "Membres avec un contrat en cours",
"catalogsContacts": "Contacts des catalogues",
"empty": "Cette liste est vide",
"vendors": "Producteurs actifs"
"vendors": "Producteurs avec catalogues actifs"
}
6 changes: 3 additions & 3 deletions public/locales/fr/messages/default.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
"noMessage": "Aucun message",
"text": "Texte",
"link": "Lien",
"2ContractsGroup": "Utilisateurs ayant déjà commandé dans un catalogue :",
"3DistributionGroup": "Utilisateurs ayant des produits à récupérer à une prochaine distribution :",
"1ContractsGroup": "Listes de diffusion par contrat :",
"2DistributionGroup": "Listes de diffusion par contrat et par date de distribution :",
"latestSentMessage": "{{title}} - envoyé {{date}} dans {{group}}",
"noMessageWithSlateContent": "Pas de message enregistré. Envoyez un message pour le retrouver ici.",
"errorReusingMessage": "Erreur de chargement du message : {{error}}",
Expand All @@ -38,4 +38,4 @@
"emailError": "Cette adresse email n'est pas correcte",
"latestMessages": "Réutiliser un message déjà envoyé"
}
}
}
Loading