|
@@ -323,3 +323,97 @@ class ProjectDeleteView(MultiplePermissi
|
|
|
messages.success(self.request, "Project %s has been removed." % self.get_object().name, extra_tags="alert alert-success")
|
|
|
|
|
|
return super(ProjectDeleteView, self).post(*args, **kwargs)
|
|
|
|
|
|
|
|
|
class LocationCreateView(MultiplePermissionsRequiredMixin, CreateView):
|
|
|
"""
|
|
|
View for creating a new location.
|
|
|
"""
|
|
|
|
|
|
model = Location
|
|
|
template_name_suffix = "_create_form"
|
|
|
|
|
|
# Required permissions.
|
|
|
permissions = {
|
|
|
"all": ("conntrackt.add_location",),
|
|
|
}
|
|
|
|
|
|
# Raise authorisation denied exception for unmet permissions.
|
|
|
raise_exception = True
|
|
|
|
|
|
success_url = reverse_lazy("index")
|
|
|
|
|
|
def get_form(self, form_class):
|
|
|
"""
|
|
|
Implements an override for the default form constructed for the create
|
|
|
view that includes some better styling of input widgets.
|
|
|
"""
|
|
|
|
|
|
form = super(LocationCreateView, self).get_form(form_class)
|
|
|
form.fields["name"].widget.attrs["class"] = "span6"
|
|
|
form.fields["name"].widget.attrs["placeholder"] = "New Location"
|
|
|
form.fields["description"].widget.attrs["class"] = "span6"
|
|
|
form.fields["description"].widget.attrs["placeholder"] = "Description for new location."
|
|
|
|
|
|
return form
|
|
|
|
|
|
|
|
|
class LocationUpdateView(MultiplePermissionsRequiredMixin, UpdateView):
|
|
|
"""
|
|
|
View for modifying an existing location.
|
|
|
"""
|
|
|
|
|
|
model = Location
|
|
|
template_name_suffix = "_update_form"
|
|
|
|
|
|
# Required permissions.
|
|
|
permissions = {
|
|
|
"all": ("conntrackt.change_location",),
|
|
|
}
|
|
|
|
|
|
# Raise authorisation denied exception for unmet permissions.
|
|
|
raise_exception = True
|
|
|
|
|
|
success_url = reverse_lazy("index")
|
|
|
|
|
|
def get_form(self, form_class):
|
|
|
"""
|
|
|
Implements an override for the default form constructed for the create
|
|
|
view that includes some better styling of input widgets.
|
|
|
"""
|
|
|
|
|
|
form = super(LocationUpdateView, self).get_form(form_class)
|
|
|
form.fields["name"].widget.attrs["class"] = "span6"
|
|
|
form.fields["name"].widget.attrs["placeholder"] = "Location name"
|
|
|
form.fields["description"].widget.attrs["class"] = "span6"
|
|
|
form.fields["description"].widget.attrs["placeholder"] = "Description for location."
|
|
|
|
|
|
return form
|
|
|
|
|
|
|
|
|
class LocationDeleteView(MultiplePermissionsRequiredMixin, DeleteView):
|
|
|
"""
|
|
|
View for deleting a location.
|
|
|
"""
|
|
|
|
|
|
model = Location
|
|
|
|
|
|
# Required permissions.
|
|
|
permissions = {
|
|
|
"all": ("conntrackt.delete_location",),
|
|
|
}
|
|
|
|
|
|
# Raise authorisation denied exception for unmet permissions.
|
|
|
raise_exception = True
|
|
|
|
|
|
success_url = reverse_lazy("index")
|
|
|
|
|
|
def post(self, *args, **kwargs):
|
|
|
"""
|
|
|
Add a success message that will be displayed to the user to confirm the
|
|
|
location deletion.
|
|
|
"""
|
|
|
|
|
|
messages.success(self.request, "Location %s has been removed." % self.get_object().name, extra_tags="alert alert-success")
|
|
|
|
|
|
return super(LocationDeleteView, self).post(*args, **kwargs)
|