édition d'une fiche dans une popup (#73689) #83

Merged
lguerin merged 1 commits from wip/73689-card-edit-popup into main 2023-02-28 10:46:04 +01:00
Owner
No description provided.
lguerin changed title from WIP: édition d'une fiche dans une popup to WIP: édition d'une fiche dans une popup (#73689) 2023-01-31 17:01:42 +01:00
lguerin force-pushed wip/73689-card-edit-popup from 2217df620c to 67267053c5 2023-01-31 17:17:15 +01:00 Compare
lguerin force-pushed wip/73689-card-edit-popup from 67267053c5 to 729d3f9fb0 2023-02-02 22:07:53 +01:00 Compare
lguerin force-pushed wip/73689-card-edit-popup from 729d3f9fb0 to 54410cd364 2023-02-03 14:29:31 +01:00 Compare
lguerin force-pushed wip/73689-card-edit-popup from 54410cd364 to f8bf6abaf8 2023-02-03 14:36:44 +01:00 Compare
lguerin changed title from WIP: édition d'une fiche dans une popup (#73689) to édition d'une fiche dans une popup (#73689) 2023-02-03 14:37:54 +01:00
lguerin reviewed 2023-02-03 14:39:52 +01:00
wcs/api.py Outdated
@ -1217,0 +1217,4 @@
query = get_request().form.get('q', '')
limit = get_request().form.get('page_limit')
edit_related = info.get('edit_related')
with_edit_related_url = query and limit and edit_related
Author
Owner

pour l'autocomplete, on a toujours un param q et une pagination; par précaution, si l'un est manquant, pas de vérification des droits du user pour éviter de jouer ça sur toutes les fiches

pour l'autocomplete, on a toujours un param q et une pagination; par précaution, si l'un est manquant, pas de vérification des droits du user pour éviter de jouer ça sur toutes les fiches
lguerin reviewed 2023-02-03 14:40:58 +01:00
wcs/carddata.py Outdated
@ -59,0 +73,4 @@
include_category=True,
language=get_publisher().current_language,
)
+ 'wfedit-%s' % _item.id
Author
Owner

(j'ai repris la même url que dans la méthode submit_form de l'action editable)

(j'ai repris la même url que dans la méthode submit_form de l'action editable)
lguerin reviewed 2023-02-03 14:42:05 +01:00
wcs/api.py Outdated
@ -1216,1 +1216,4 @@
custom_view.filters = info['dynamic_custom_view_filters']
query = get_request().form.get('q', '')
limit = get_request().form.get('page_limit')
edit_related = info.get('edit_related')
Author
Owner

(edit_related est passé dans le context du token)

(edit_related est passé dans le context du token)
lguerin reviewed 2023-02-03 14:42:44 +01:00
wcs/fields.py Outdated
@ -2269,0 +2264,4 @@
if carddef.can_user_add_cards(get_request().user):
kwargs['add_related_url'] = carddef.get_backoffice_submission_url()
kwargs['edit_related'] = True
url_kwargs['edit_related'] = True
Author
Owner

pour ajout dans le contexte du token

pour ajout dans le contexte du token
lguerin reviewed 2023-02-03 14:43:21 +01:00
wcs/fields.py Outdated
@ -2318,2 +2321,3 @@
url_kwargs['edit_related'] = True
# store display value in session to be used by select2
url = data_source.get_jsonp_url()
url = data_source.get_jsonp_url(**url_kwargs)
Author
Owner

pas sûre que cette modif soit nécessaire ?

pas sûre que cette modif soit nécessaire ?
lguerin reviewed 2023-02-03 14:44:05 +01:00
@ -1054,3 +1054,3 @@
if self.edit_mode:
existing_formdata = self.edited_data.data
if not get_request().form:
request_data = {k: v for k, v in get_request().form.items() if k != '_popup'}
Author
Owner

sinon pas de données initiales dans le form d'édition en mode popup ...
(j'ai ajouté un test pour ça)

sinon pas de données initiales dans le form d'édition en mode popup ... (j'ai ajouté un test pour ça)
lguerin reviewed 2023-02-03 14:46:34 +01:00
@ -334,0 +336,4 @@
if (data.edit_related_url) {
$(data.element).attr('data-edit-related-url', data.edit_related_url);
}
return data.text;
Author
Owner

je me suis un peu perdue dans le js, ça marche comme ça mais ça éparpille pas mal les choses ...
là c'est pour ajouter un data attribute sur les options du select à l'autocompletion

je me suis un peu perdue dans le js, ça marche comme ça mais ça éparpille pas mal les choses ... là c'est pour ajouter un data attribute sur les options du select à l'autocompletion
lguerin reviewed 2023-02-03 14:46:59 +01:00
@ -407,1 +409,3 @@
elem.options[elem.options.length] = new Option(newRepr, newId, true, true);
var $option = $('<option />').val(newId).html(newRepr).prop('selected', true);
if (edit_related_url) {
$option.attr('data-edit-related-url', edit_related_url);
Author
Owner

ajout d'un data attribute sur l'option sélectionnée à la fermeture de la popup

ajout d'un data attribute sur l'option sélectionnée à la fermeture de la popup
lguerin reviewed 2023-02-03 14:47:24 +01:00
@ -373,0 +380,4 @@
// update edit-related button href
$(elem).siblings('.edit-related').attr('href', '').hide();
if ($selected.attr('data-edit-related-url')) {
$(elem).siblings('.edit-related').attr('href', $selected.attr('data-edit-related-url') + '?_popup=1').show();
Author
Owner

affichage du lien d'édition si on a un data attribute qui va bien sur l'option sélectionnée

affichage du lien d'édition si on a un data attribute qui va bien sur l'option sélectionnée
lguerin reviewed 2023-02-03 14:48:00 +01:00
@ -379,2 +391,4 @@
option.appendTo($(elem));
option.text($input_display_value.val());
if ($(elem).data('initial-edit-related-url')) {
option.attr('data-edit-related-url', $(elem).data('initial-edit-related-url'));
Author
Owner

pour gérer la valeur initiale du champ, et avoir le bouton d'édition

pour gérer la valeur initiale du champ, et avoir le bouton d'édition
Owner

Je serais tenté par remplacer le crayon 🖉 par une réelle icône (mais elle n'existe pas pour le survol, j'ai créé entrouvert/gadjo#2)

J'ai une branche rebasée qui ajoute ça mais il y avait un conflit au rebase, il me semble que c'est juste get_display_value qui est déplacée mais je préfère être frileux et juste attacher ici mon patch supplémentaire plutôt qu'écraser ta branche.

Je serais tenté par remplacer le crayon 🖉 par une réelle icône (mais elle n'existe pas pour le survol, j'ai créé https://git.entrouvert.org/entrouvert/gadjo/pulls/2) J'ai une branche rebasée qui ajoute ça mais il y avait un conflit au rebase, il me semble que c'est juste get_display_value qui est déplacée mais je préfère être frileux et juste attacher ici mon patch supplémentaire plutôt qu'écraser ta branche.
Author
Owner

nouvelle version avec l'icône proposée

nouvelle version avec l'icône proposée
fpeters approved these changes 2023-02-28 06:49:17 +01:00
lguerin added 1 commit 2023-02-28 09:57:49 +01:00
gitea/wcs/pipeline/head This commit looks good Details
68726ff1ae
backoffice: edit related card in a popup (#73689)
lguerin merged commit 55316aab3c into main 2023-02-28 10:46:04 +01:00
lguerin deleted branch wip/73689-card-edit-popup 2023-02-28 10:46:04 +01:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/wcs#83
No description provided.