Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
third-party
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
2
Merge Requests
2
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cooperatic-foodcoops
third-party
Commits
50878b74
Commit
50878b74
authored
Mar 10, 2022
by
Thibault Grandjean
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lint
parent
1a90ffeb
Pipeline
#1906
passed with stage
in 1 minute 28 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
269 additions
and
259 deletions
+269
-259
manage_attached.js
members/static/js/admin/manage_attached.js
+269
-259
No files found.
members/static/js/admin/manage_attached.js
View file @
50878b74
...
...
@@ -2,13 +2,13 @@ var parentId = null;
var
childId
=
null
;
const
possible_cooperative_state
=
{
suspended
:
"Rattrapage"
,
exempted
:
"Exempté.e"
,
alert
:
"En alerte"
,
up_to_date
:
"À jour"
,
unsubscribed
:
"Désinscrit.e des créneaux"
,
delay
:
"En délai"
,
gone
:
"Parti.e"
suspended
:
"Rattrapage"
,
exempted
:
"Exempté.e"
,
alert
:
"En alerte"
,
up_to_date
:
"À jour"
,
unsubscribed
:
"Désinscrit.e des créneaux"
,
delay
:
"En délai"
,
gone
:
"Parti.e"
};
/**
...
...
@@ -22,12 +22,12 @@ function load_member_infos(divId, memberId) {
traditional
:
true
,
contentType
:
"application/json; charset=utf-8"
,
success
:
function
(
data
)
{
if
(
divId
===
'parentInfo'
)
{
parentId
=
data
.
member
.
id
}
else
if
(
divId
===
'childInfo'
)
{
childId
=
data
.
member
.
id
}
display_member_infos
(
divId
,
data
.
member
)
if
(
divId
===
'parentInfo'
)
{
parentId
=
data
.
member
.
id
;
}
else
if
(
divId
===
'childInfo'
)
{
childId
=
data
.
member
.
id
;
}
display_member_infos
(
divId
,
data
.
member
);
},
error
:
function
(
data
)
{
err
=
{
msg
:
"erreur serveur lors de la récupération des infos du membre"
,
ctx
:
'load_member_infos'
};
...
...
@@ -43,177 +43,183 @@ function load_member_infos(divId, memberId) {
}
function
ready_for_submission
()
{
if
(
parentId
!=
null
&&
childId
!=
null
)
{
console
.
log
(
"ready"
)
return
true
}
if
(
parentId
!=
null
&&
childId
!=
null
)
{
console
.
log
(
"ready"
);
return
true
;
}
}
/**
* Display member info
*/
function
display_member_infos
(
divId
,
memberData
)
{
console
.
log
(
memberData
)
$
(
"#"
+
divId
).
show
()
$
(
"#"
+
divId
).
find
(
".member_name"
).
text
(
memberData
.
name
)
$
(
"#"
+
divId
).
find
(
".member_status"
).
text
(
possible_cooperative_state
[
memberData
.
cooperative_state
])
$
(
"#"
+
divId
).
find
(
".member_shift_name"
).
text
(
memberData
.
current_template_name
);
$
(
"#"
+
divId
).
find
(
".member_makeups_to_do"
).
text
(
memberData
.
makeups_to_do
);
if
(
memberData
.
is_associated_people
===
false
)
{
$
(
"#"
+
divId
).
find
(
".member_associated_partner_area"
).
hide
();
}
if
(
parentId
!=
null
&&
childId
!=
null
)
{
$
(
"#createPair"
).
prop
(
"disabled"
,
false
)
}
console
.
log
(
memberData
);
$
(
"#"
+
divId
).
show
();
$
(
"#"
+
divId
).
find
(
".member_name"
)
.
text
(
memberData
.
name
);
$
(
"#"
+
divId
).
find
(
".member_status"
)
.
text
(
possible_cooperative_state
[
memberData
.
cooperative_state
]);
$
(
"#"
+
divId
).
find
(
".member_shift_name"
)
.
text
(
memberData
.
current_template_name
);
$
(
"#"
+
divId
).
find
(
".member_makeups_to_do"
)
.
text
(
memberData
.
makeups_to_do
);
if
(
memberData
.
is_associated_people
===
false
)
{
$
(
"#"
+
divId
).
find
(
".member_associated_partner_area"
)
.
hide
();
}
if
(
parentId
!=
null
&&
childId
!=
null
)
{
$
(
"#createPair"
).
prop
(
"disabled"
,
false
);
}
}
/**
* Load attached members
*/
function
load_attached_members
()
{
$
.
ajax
({
type
:
'GET'
,
url
:
"/members/get_attached_members"
,
dataType
:
"json"
,
traditional
:
true
,
contentType
:
"application/json; charset=utf-8"
,
success
:
function
(
data
)
{
attached_members
=
data
.
res
;
display_attached_members
();
},
error
:
function
(
data
)
{
err
=
{
msg
:
"erreur serveur lors de la récupération des membres avec rattrapage"
,
ctx
:
'load_makeups_members'
};
if
(
typeof
data
.
responseJSON
!=
'undefined'
&&
typeof
data
.
responseJSON
.
error
!=
'undefined'
)
{
err
.
msg
+=
' : '
+
data
.
responseJSON
.
error
;
}
report_JS_error
(
err
,
'orders'
);
function
load_attached_members
()
{
$
.
ajax
({
type
:
'GET'
,
url
:
"/members/get_attached_members"
,
dataType
:
"json"
,
traditional
:
true
,
contentType
:
"application/json; charset=utf-8"
,
success
:
function
(
data
)
{
attached_members
=
data
.
res
;
display_attached_members
();
},
error
:
function
(
data
)
{
err
=
{
msg
:
"erreur serveur lors de la récupération des membres avec rattrapage"
,
ctx
:
'load_makeups_members'
};
if
(
typeof
data
.
responseJSON
!=
'undefined'
&&
typeof
data
.
responseJSON
.
error
!=
'undefined'
)
{
err
.
msg
+=
' : '
+
data
.
responseJSON
.
error
;
}
report_JS_error
(
err
,
'orders'
);
closeModal
();
alert
(
'Erreur serveur lors de la récupération des membres avec rattrapage. Ré-essayez plus tard.'
);
}
});
closeModal
();
alert
(
'Erreur serveur lors de la récupération des membres avec rattrapage. Ré-essayez plus tard.'
);
}
});
}
/**
* Display table of attached members
*/
function
display_attached_members
()
{
// load_attached_members()
// var attached_members_table = $('#attached_members_table')
// if (attached_members_table) {
// $('#attached_members_table').off();
// attached_members_table.clear().destroy();
// $('#attached_members_table').empty();
// }
attached_members_table
=
$
(
'#attached_members_table'
).
DataTable
({
data
:
attached_members
,
columns
:
[
{
data
:
"id"
,
title
:
''
,
className
:
"dt-body-center"
,
orderable
:
false
,
render
:
function
(
data
)
{
return
`<input type="checkbox" class="select_member_cb" id="select_member_
${
data
}
" value="
${
data
}
">`
;
function
display_attached_members
()
{
// load_attached_members()
// var attached_members_table = $('#attached_members_table')
// if (attached_members_table) {
// $('#attached_members_table').off();
// attached_members_table.clear().destroy();
// $('#attached_members_table').empty();
// }
attached_members_table
=
$
(
'#attached_members_table'
).
DataTable
({
data
:
attached_members
,
columns
:
[
{
data
:
"id"
,
title
:
''
,
className
:
"dt-body-center"
,
orderable
:
false
,
render
:
function
(
data
)
{
return
`<input type="checkbox" class="select_member_cb" id="select_member_
${
data
}
" value="
${
data
}
">`
;
},
width
:
"3%"
},
width
:
"3%"
},
{
data
:
"parent_name"
,
title
:
"Nom du titulaire"
},
{
data
:
"name"
,
title
:
"en binôme avec"
,
},
{
data
:
"action"
,
title
:
"Action"
,
width
:
"10%"
,
render
:
function
(
data
,
type
,
full
)
{
return
`
{
data
:
"parent_name"
,
title
:
"Nom du titulaire"
},
{
data
:
"name"
,
title
:
"en binôme avec"
},
{
data
:
"action"
,
title
:
"Action"
,
width
:
"10%"
,
render
:
function
(
data
,
type
,
full
)
{
return
`
<button class="delete_pair btn--danger" id="delete_pair_
${
full
.
id
}
">
Désolidariser
</button>`
;
}
}
}
],
aLengthMenu
:
[
[
25
,
50
,
-
1
],
[
25
,
50
,
"Tout"
]
],
iDisplayLength
:
25
,
oLanguage
:
{
"sProcessing"
:
"Traitement en cours..."
,
"sSearch"
:
"Rechercher dans le tableau"
,
"sLengthMenu"
:
"Afficher _MENU_ éléments"
,
"sInfo"
:
"Affichage de l'élément _START_ à _END_ sur _TOTAL_ éléments"
,
"sInfoEmpty"
:
"Affichage de l'élément 0 à 0 sur 0 élément"
,
"sInfoFiltered"
:
"(filtré de _MAX_ éléments au total)"
,
"sInfoPostFix"
:
""
,
"sLoadingRecords"
:
"Chargement en cours..."
,
"sZeroRecords"
:
"Aucun élément à afficher"
,
"sEmptyTable"
:
"Aucune donnée disponible dans le tableau"
,
"oPaginate"
:
{
"sFirst"
:
"Premier"
,
"sPrevious"
:
"Précédent"
,
"sNext"
:
"Suivant"
,
"sLast"
:
"Dernier"
},
"oAria"
:
{
"sSortAscending"
:
": activer pour trier la colonne par ordre croissant"
,
"sSortDescending"
:
": activer pour trier la colonne par ordre décroissant"
},
"select"
:
{
"rows"
:
{
"_"
:
"%d lignes séléctionnées"
,
"0"
:
"Aucune ligne séléctionnée"
,
"1"
:
"1 ligne séléctionnée"
aLengthMenu
:
[
[
25
,
50
,
-
1
],
[
25
,
50
,
"Tout"
]
],
iDisplayLength
:
25
,
oLanguage
:
{
"sProcessing"
:
"Traitement en cours..."
,
"sSearch"
:
"Rechercher dans le tableau"
,
"sLengthMenu"
:
"Afficher _MENU_ éléments"
,
"sInfo"
:
"Affichage de l'élément _START_ à _END_ sur _TOTAL_ éléments"
,
"sInfoEmpty"
:
"Affichage de l'élément 0 à 0 sur 0 élément"
,
"sInfoFiltered"
:
"(filtré de _MAX_ éléments au total)"
,
"sInfoPostFix"
:
""
,
"sLoadingRecords"
:
"Chargement en cours..."
,
"sZeroRecords"
:
"Aucun élément à afficher"
,
"sEmptyTable"
:
"Aucune donnée disponible dans le tableau"
,
"oPaginate"
:
{
"sFirst"
:
"Premier"
,
"sPrevious"
:
"Précédent"
,
"sNext"
:
"Suivant"
,
"sLast"
:
"Dernier"
},
"oAria"
:
{
"sSortAscending"
:
": activer pour trier la colonne par ordre croissant"
,
"sSortDescending"
:
": activer pour trier la colonne par ordre décroissant"
},
"select"
:
{
"rows"
:
{
"_"
:
"%d lignes séléctionnées"
,
"0"
:
"Aucune ligne séléctionnée"
,
"1"
:
"1 ligne séléctionnée"
}
}
}
},
});
});
}
function
delete_pair
(
childId
)
{
var
payload
=
{
"child"
:
{
"id"
:
childId
}}
$
.
ajax
({
type
:
"POST"
,
url
:
'/members/admin/manage_attached/delete_pair'
,
dataType
:
'json'
,
contentType
:
"application/json; charset=utf-8"
,
data
:
JSON
.
stringify
(
payload
),
success
:
function
()
{
alert
(
"binôme désolidarisé"
);
location
.
reload
();
},
error
:
function
(
data
)
{
err
=
{
msg
:
"erreur serveur lors de la récupération des membres avec rattrapage"
,
ctx
:
'load_makeups_members'
};
if
(
typeof
data
.
responseJSON
!=
'undefined'
&&
typeof
data
.
responseJSON
.
error
!=
'undefined'
)
{
err
.
msg
+=
' : '
+
data
.
responseJSON
.
error
;
}
report_JS_error
(
err
,
'orders'
);
var
payload
=
{
"child"
:
{
"id"
:
childId
}};
closeModal
();
alert
(
'Erreur serveur lors de la désolidarisation du binôme. Ré-essayez plus tard.'
);
}
})
$
.
ajax
({
type
:
"POST"
,
url
:
'/members/admin/manage_attached/delete_pair'
,
dataType
:
'json'
,
contentType
:
"application/json; charset=utf-8"
,
data
:
JSON
.
stringify
(
payload
),
success
:
function
()
{
alert
(
"binôme désolidarisé"
);
location
.
reload
();
},
error
:
function
(
data
)
{
err
=
{
msg
:
"erreur serveur lors de la récupération des membres avec rattrapage"
,
ctx
:
'load_makeups_members'
};
if
(
typeof
data
.
responseJSON
!=
'undefined'
&&
typeof
data
.
responseJSON
.
error
!=
'undefined'
)
{
err
.
msg
+=
' : '
+
data
.
responseJSON
.
error
;
}
report_JS_error
(
err
,
'orders'
);
closeModal
();
alert
(
'Erreur serveur lors de la désolidarisation du binôme. Ré-essayez plus tard.'
);
}
});
}
$
(
document
).
ready
(
function
()
{
...
...
@@ -244,11 +250,11 @@ $(document).ready(function() {
}
}
response
(
$
.
map
(
data
.
res
,
function
(
item
)
{
return
{
label
:
item
.
barcode_base
+
' '
+
item
.
name
,
value
:
item
.
id
}
}))
return
{
label
:
item
.
barcode_base
+
' '
+
item
.
name
,
value
:
item
.
id
};
}))
;
},
error
:
function
()
{
err
=
{
...
...
@@ -261,113 +267,117 @@ $(document).ready(function() {
globalPosition
:
"top right"
,
className
:
"error"
});
},
}
)
},
minLength
:
1
,
search
:
function
(
event
,
ui
)
{
$
(
'#spinner1'
).
show
();
},
response
:
function
(
event
,
ui
)
{
$
(
'#spinner1'
).
hide
();
},
select
:
function
(
event
,
ui
)
{
event
.
preventDefault
();
if
(
ui
.
item
)
{
load_member_infos
(
"parentInfo"
,
ui
.
item
.
value
)
$
(
'#search_member_input'
).
val
(
ui
.
item
.
label
)
return
false
}
});
},
minLength
:
1
,
search
:
function
(
event
,
ui
)
{
$
(
'#spinner1'
).
show
();
},
response
:
function
(
event
,
ui
)
{
$
(
'#spinner1'
).
hide
();
},
select
:
function
(
event
,
ui
)
{
event
.
preventDefault
();
if
(
ui
.
item
)
{
load_member_infos
(
"parentInfo"
,
ui
.
item
.
value
)
;
$
(
'#search_member_input'
).
val
(
ui
.
item
.
label
)
;
return
false
;
}
})
$
(
"#search_child_input"
).
autocomplete
({
source
:
function
(
request
,
response
)
{
$
.
ajax
({
url
:
'/members/search/'
+
request
.
term
,
dataType
:
'json'
,
success
:
function
(
data
)
{
members_search_results
=
[];
for
(
member
of
data
.
res
)
{
if
(
member
.
is_member
||
member
.
is_associated_people
)
{
members_search_results
.
push
(
member
);
}
}
console
.
log
(
members_search_results
)
response
(
$
.
map
(
data
.
res
,
function
(
item
)
{
return
{
label
:
item
.
barcode_base
+
' '
+
item
.
name
,
value
:
item
.
id
}
});
$
(
"#search_child_input"
).
autocomplete
({
source
:
function
(
request
,
response
)
{
$
.
ajax
({
url
:
'/members/search/'
+
request
.
term
,
dataType
:
'json'
,
success
:
function
(
data
)
{
members_search_results
=
[];
for
(
member
of
data
.
res
)
{
if
(
member
.
is_member
||
member
.
is_associated_people
)
{
members_search_results
.
push
(
member
);
}
}))
},
error
:
function
()
{
err
=
{
msg
:
"erreur serveur lors de la recherche de membres"
,
ctx
:
'search_member_form.search_members'
};
report_JS_error
(
err
,
'members.admin'
);
$
.
notify
(
"Erreur lors de la recherche de membre, il faut ré-essayer plus tard..."
,
{
globalPosition
:
"top right"
,
className
:
"error"
});
},
}
)
},
minLength
:
1
,
search
:
function
(
event
,
ui
)
{
$
(
'#spinner2'
).
show
();
},
response
:
function
(
event
,
ui
)
{
$
(
'#spinner2'
).
hide
();
},
select
:
function
(
event
,
ui
)
{
if
(
ui
.
item
)
{
load_member_infos
(
"childInfo"
,
ui
.
item
.
value
)
$
(
'#search_child_input'
).
val
(
ui
.
item
.
label
)
return
false
}
console
.
log
(
members_search_results
);
response
(
$
.
map
(
data
.
res
,
function
(
item
)
{
return
{
label
:
item
.
barcode_base
+
' '
+
item
.
name
,
value
:
item
.
id
};
}));
},
error
:
function
()
{
err
=
{
msg
:
"erreur serveur lors de la recherche de membres"
,
ctx
:
'search_member_form.search_members'
};
report_JS_error
(
err
,
'members.admin'
);
$
.
notify
(
"Erreur lors de la recherche de membre, il faut ré-essayer plus tard..."
,
{
globalPosition
:
"top right"
,
className
:
"error"
});
}
},
})
});
},
minLength
:
1
,
search
:
function
(
event
,
ui
)
{
$
(
'#spinner2'
).
show
();
},
response
:
function
(
event
,
ui
)
{
$
(
'#spinner2'
).
hide
();
},
select
:
function
(
event
,
ui
)
{
if
(
ui
.
item
)
{
load_member_infos
(
"childInfo"
,
ui
.
item
.
value
);
$
(
'#search_child_input'
).
val
(
ui
.
item
.
label
);
$
(
"#createPair"
).
on
(
'click'
,
function
()
{
return
false
;
}
}
});
$
(
"#createPair"
).
on
(
'click'
,
function
()
{
var
payload
=
{
"parent"
:
{
"id"
:
parentId
},
"child"
:
{
"id"
:
childId
}
}
"parent"
:
{
"id"
:
parentId
},
"child"
:
{
"id"
:
childId
}
};
$
.
ajax
({
type
:
'POST'
,
url
:
"/members/admin/manage_attached/create_pair"
,
dataType
:
"json"
,
contentType
:
"application/json; charset=utf-8"
,
data
:
JSON
.
stringify
(
payload
),
success
:
function
(
data
)
{
alert
(
"binôme créé"
)
},
error
:
function
(
data
)
{
err
=
{
msg
:
"erreur serveur"
,
ctx
:
'create pair'
};
if
(
typeof
data
.
responseJSON
!=
'undefined'
&&
typeof
data
.
responseJSON
.
errors
!=
'undefined'
)
{
err
.
msg
+=
' : '
+
data
.
responseJSON
.
errors
;
}
report_JS_error
(
err
,
'members.admin'
);
closeModal
();
var
message
=
'Erreur lors de création du binôme.'
data
.
responseJSON
.
errors
.
map
(
function
(
error
){
message
+=
(
'
\
n'
+
error
)})
alert
(
message
);
}
})
});
if
(
$
(
"#attached_members_table"
)
!=
"undefined"
)
{
load_attached_members
()
}
$
(
document
).
on
(
'click'
,
'.delete_pair'
,
function
(
event
)
{
var
childId
=
event
.
target
.
id
.
split
(
'_'
).
slice
(
-
1
)[
0
]
delete_pair
(
childId
)
})
})
type
:
'POST'
,
url
:
"/members/admin/manage_attached/create_pair"
,
dataType
:
"json"
,
contentType
:
"application/json; charset=utf-8"
,
data
:
JSON
.
stringify
(
payload
),
success
:
function
(
data
)
{
alert
(
"binôme créé"
);
},
error
:
function
(
data
)
{
err
=
{
msg
:
"erreur serveur"
,
ctx
:
'create pair'
};
if
(
typeof
data
.
responseJSON
!=
'undefined'
&&
typeof
data
.
responseJSON
.
errors
!=
'undefined'
)
{
err
.
msg
+=
' : '
+
data
.
responseJSON
.
errors
;
}
report_JS_error
(
err
,
'members.admin'
);
closeModal
();
var
message
=
'Erreur lors de création du binôme.'
;
data
.
responseJSON
.
errors
.
map
(
function
(
error
)
{
message
+=
(
'
\
n'
+
error
);
});
alert
(
message
);
}
});
});
if
(
$
(
"#attached_members_table"
)
!=
"undefined"
)
{
load_attached_members
();
}
$
(
document
).
on
(
'click'
,
'.delete_pair'
,
function
(
event
)
{
var
childId
=
event
.
target
.
id
.
split
(
'_'
).
slice
(
-
1
)[
0
];
delete_pair
(
childId
);
});
});
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment