Set initial value fields to disabled for some forms

- Prevent user from changing certain fields
- Only when a form is launched from a particular view
This commit is contained in:
Oliver 2018-04-28 12:14:18 +10:00
parent 2e7253ebc4
commit c1271367bd
5 changed files with 48 additions and 6 deletions

View File

@ -15,6 +15,12 @@ class EditBuildForm(forms.ModelForm):
self.helper.form_tag = False
initial = kwargs.get('initial', {})
for field in ['part']:
if field in initial:
self.fields['field'].disabled = True
class Meta:
model = Build
fields = [

View File

@ -13,6 +13,11 @@ class EditPartForm(forms.ModelForm):
self.helper.form_tag = False
initial = kwargs.get('initial', {})
if 'category' in initial:
self.fields['category'].disabled = True
class Meta:
model = Part
fields = [
@ -40,6 +45,11 @@ class EditCategoryForm(forms.ModelForm):
self.helper.form_tag = False
initial = kwargs.get('initial', {})
if 'category' in initial:
self.fields['parent'].disabled = True
class Meta:
model = PartCategory
fields = [
@ -59,6 +69,12 @@ class EditBomItemForm(forms.ModelForm):
self.helper.form_tag = False
initial = kwargs.get('initial', {})
for field in ['part', 'sub_part']:
if field in initial:
self.fields[field].disabled = True
class Meta:
model = BomItem
fields = [
@ -75,6 +91,12 @@ class EditSupplierPartForm(forms.ModelForm):
self.helper.form_tag = False
initial = kwargs.get('initial', {})
for field in ['supplier', 'part']:
if field in initial:
self.fields[field].disabled = True
class Meta:
model = SupplierPart
fields = [

View File

@ -98,11 +98,18 @@ $(document).ready(function () {
launchModalForm("#modal-form", "{% url 'part-edit' part.id %}");
});
{% if part.category %}
var partRedirect = "{% url 'category-detail' part.category.id %}";
{% else %}
var partRedirect = "{% url 'part-index' %}";
{% endif %}
$('#delete-part').click(function() {
launchDeleteForm("#modal-delete",
"{% url 'part-delete' part.id %}",
{redirect: "{% url 'part-index' %}"}
);
{
redirect: partRedirect
});
});
});
</script>

View File

@ -239,12 +239,8 @@ class SupplierPartCreate(AjaxCreateView):
if supplier_id:
initials['supplier'] = get_object_or_404(Company, pk=supplier_id)
# TODO
# self.fields['supplier'].disabled = True
if part_id:
initials['part'] = get_object_or_404(Part, pk=part_id)
# TODO
# self.fields['part'].disabled = True
return initials

View File

@ -15,6 +15,11 @@ class EditStockLocationForm(forms.ModelForm):
self.helper.form_tag = False
initial = kwargs.get('initial', {})
if 'location' in initial:
self.fields['parent'].disabled = True
class Meta:
model = StockLocation
fields = [
@ -32,6 +37,12 @@ class EditStockItemForm(forms.ModelForm):
self.helper.form_tag = False
initial = kwargs.get('initial', {})
for field in ['part', 'location']:
if field in initial:
self.fields[field].disabled = True
class Meta:
model = StockItem
fields = [