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 self.helper.form_tag = False
initial = kwargs.get('initial', {})
for field in ['part']:
if field in initial:
self.fields['field'].disabled = True
class Meta: class Meta:
model = Build model = Build
fields = [ fields = [

View File

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

View File

@ -98,11 +98,18 @@ $(document).ready(function () {
launchModalForm("#modal-form", "{% url 'part-edit' part.id %}"); 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() { $('#delete-part').click(function() {
launchDeleteForm("#modal-delete", launchDeleteForm("#modal-delete",
"{% url 'part-delete' part.id %}", "{% url 'part-delete' part.id %}",
{redirect: "{% url 'part-index' %}"} {
); redirect: partRedirect
});
}); });
}); });
</script> </script>

View File

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

View File

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