aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorGuillaume2017-09-18 11:11:36 +0200
committerGuillaume2017-09-18 11:11:36 +0200
commit06ad1bb051cabb4575306f7397287ea77d70e109 (patch)
tree83c794c3120fd8b7413b749cba2a5553dff756bf /app
parent1e58dfdbfbecccda78e2fe3854b2ba04a72bd511 (diff)
parent60ad22fa8db3c1f2cbfe532a73deca4b97232a25 (diff)
downloadchouette-core-06ad1bb051cabb4575306f7397287ea77d70e109.tar.bz2
Merge branch '4467_compliance_control_crud' into 4466-compliance_control_sets
Diffstat (limited to 'app')
-rw-r--r--app/controllers/compliance_controls_controller.rb22
-rw-r--r--app/models/compliance_control.rb1
-rw-r--r--app/models/compliance_control_set.rb1
-rw-r--r--app/views/compliance_controls/edit.html.slim0
-rw-r--r--app/views/compliance_controls/index.html.slim0
-rw-r--r--app/views/compliance_controls/new.html.slim0
-rw-r--r--app/views/compliance_controls/show.html.slim0
7 files changed, 24 insertions, 0 deletions
diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb
new file mode 100644
index 000000000..d198f2cdb
--- /dev/null
+++ b/app/controllers/compliance_controls_controller.rb
@@ -0,0 +1,22 @@
+class ComplianceControlsController < BreadcrumbController
+ defaults resource_class: ComplianceControl
+ belongs_to :compliance_control_set
+
+ def create
+ create!(notice: t('notice.compliance_control.created'))
+ end
+
+ def update
+ path = compliance_control_set_compliance_control_path(parent, resource)
+ update!(notice: t('notice.compliance_control.updated')) { path }
+ end
+
+ def destroy
+ destroy!(notice: t('notice.compliance_control.destroyed'))
+ end
+
+ private
+ def compliance_control_params
+ params.require(:compliance_control).permit(:name, :code, :criticity, :comment, :control_attributes)
+ end
+end
diff --git a/app/models/compliance_control.rb b/app/models/compliance_control.rb
index 64556b524..685a00706 100644
--- a/app/models/compliance_control.rb
+++ b/app/models/compliance_control.rb
@@ -3,6 +3,7 @@ class ComplianceControl < ActiveRecord::Base
belongs_to :compliance_control_block
enum criticity: [:info, :warning, :error]
+
validates :criticity, presence: true
validates :name, presence: true
validates :code, presence: true
diff --git a/app/models/compliance_control_set.rb b/app/models/compliance_control_set.rb
index 7801eb612..ca112531d 100644
--- a/app/models/compliance_control_set.rb
+++ b/app/models/compliance_control_set.rb
@@ -1,3 +1,4 @@
class ComplianceControlSet < ActiveRecord::Base
belongs_to :organisation
+ has_many :compliance_controls
end
diff --git a/app/views/compliance_controls/edit.html.slim b/app/views/compliance_controls/edit.html.slim
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/app/views/compliance_controls/edit.html.slim
diff --git a/app/views/compliance_controls/index.html.slim b/app/views/compliance_controls/index.html.slim
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/app/views/compliance_controls/index.html.slim
diff --git a/app/views/compliance_controls/new.html.slim b/app/views/compliance_controls/new.html.slim
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/app/views/compliance_controls/new.html.slim
diff --git a/app/views/compliance_controls/show.html.slim b/app/views/compliance_controls/show.html.slim
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/app/views/compliance_controls/show.html.slim