Use API to mark part as active/inactive

This commit is contained in:
Oliver Walters 2019-04-28 23:40:26 +10:00
parent 492d705b39
commit 73f672495d
3 changed files with 39 additions and 6 deletions

View File

@ -53,6 +53,7 @@ class PartSerializer(serializers.ModelSerializer):
class Meta:
model = Part
partial = True
fields = [
'pk',
'url', # Link to the part detail page

View File

@ -146,6 +146,33 @@
});
});
$('#activate-part').click(function() {
inventreeUpdate(
"{% url 'api-part-detail' part.id %}",
{
active: true,
},
{
method: 'PATCH',
reloadOnSuccess: true,
}
);
});
$('#deactivate-part').click(function() {
inventreeUpdate(
"{% url 'api-part-detail' part.id %}",
{
active: false,
},
{
method: 'PATCH',
reloadOnSuccess: true,
}
);
});
$('#delete-part').click(function() {
launchDeleteForm(
"{% url 'part-delete' part.id %}",

View File

@ -47,11 +47,7 @@ function inventreeUpdate(url, data={}, options={}) {
data["_is_final"] = true;
}
var method = 'put';
if ('method' in options) {
method = options.method;
}
var method = options.method || 'PUT';
// Middleware token required for data update
//var csrftoken = jQuery("[name=csrfmiddlewaretoken]").val();
@ -69,10 +65,19 @@ function inventreeUpdate(url, data={}, options={}) {
success: function(response, status) {
response['_status_code'] = status;
console.log('UPDATE object to ' + url + ' - result = ' + status);
if (options.success) {
options.success(response, status);
}
if (options.reloadOnSuccess) {
location.reload();
}
},
error: function(xhr, ajaxOptions, thrownError) {
console.error('Error on UPDATE to ' + url);
console.error(thrownError);
if (options.error) {
options.error(xhr, ajaxOptions, thrownError);
}
}
});
}