diff --git a/app/controllers/forms_controller.rb b/app/controllers/forms_controller.rb new file mode 100644 index 0000000..ce964d7 --- /dev/null +++ b/app/controllers/forms_controller.rb @@ -0,0 +1,50 @@ +# app/controllers/forms_controller.rb + +class FormsController < ApplicationController + before_action :set_form, only: [:show, :edit, :update, :destroy] + + def index + @forms = Form.all + end + + def show + end + + def new + @form = Form.new + end + + def create + @form = Form.new(form_params) + if @form.save + redirect_to @form, notice: 'Form was successfully created.' + else + render :new + end + end + + def edit + end + + def update + if @form.update(form_params) + redirect_to @form, notice: 'Form was successfully updated.' + else + render :edit + end + end + + def destroy + @form.destroy + redirect_to forms_url, notice: 'Form was successfully destroyed.' + end + + private + def set_form + @form = Form.find(params[:id]) + end + + def form_params + params.require(:form).permit(:name) # Adjust attributes as needed + end +end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb new file mode 100644 index 0000000..d1920fe --- /dev/null +++ b/app/controllers/users_controller.rb @@ -0,0 +1,41 @@ +class UsersController < ApplicationController + before_action :authenticate_user! + before_action :set_user, only: [:edit, :update, :destroy] + before_action :require_admin + + def index + @users = User.all + end + + def edit + end + + def update + if @user.update(user_params) + redirect_to users_path, notice: 'User was successfully updated.' + else + render :edit + end + end + + def destroy + @user.destroy + redirect_to users_path, notice: 'User was successfully deleted.' + end + + private + + def set_user + @user = User.find(params[:id]) + end + + def user_params + params.require(:user).permit(:email, :admin) + end + + def require_admin + unless current_user.admin? + redirect_to root_path, alert: 'Only admins are allowed to access this section.' + end + end +end diff --git a/app/helpers/forms_helper.rb b/app/helpers/forms_helper.rb new file mode 100644 index 0000000..c804d34 --- /dev/null +++ b/app/helpers/forms_helper.rb @@ -0,0 +1,2 @@ +module FormsHelper +end diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb new file mode 100644 index 0000000..2310a24 --- /dev/null +++ b/app/helpers/users_helper.rb @@ -0,0 +1,2 @@ +module UsersHelper +end diff --git a/app/models/form.rb b/app/models/form.rb new file mode 100644 index 0000000..dc126d8 --- /dev/null +++ b/app/models/form.rb @@ -0,0 +1,2 @@ +class Form < ApplicationRecord +end diff --git a/app/views/forms/create.html.erb b/app/views/forms/create.html.erb new file mode 100644 index 0000000..fa1beda --- /dev/null +++ b/app/views/forms/create.html.erb @@ -0,0 +1,2 @@ +

Forms#create

+

Find me in app/views/forms/create.html.erb

diff --git a/app/views/forms/destroy.html.erb b/app/views/forms/destroy.html.erb new file mode 100644 index 0000000..6ce5c0a --- /dev/null +++ b/app/views/forms/destroy.html.erb @@ -0,0 +1,2 @@ +

Forms#destroy

+

Find me in app/views/forms/destroy.html.erb

diff --git a/app/views/forms/edit.html.erb b/app/views/forms/edit.html.erb new file mode 100644 index 0000000..2a979c6 --- /dev/null +++ b/app/views/forms/edit.html.erb @@ -0,0 +1,2 @@ +

Forms#edit

+

Find me in app/views/forms/edit.html.erb

diff --git a/app/views/forms/index.html.erb b/app/views/forms/index.html.erb new file mode 100644 index 0000000..3964715 --- /dev/null +++ b/app/views/forms/index.html.erb @@ -0,0 +1,2 @@ +

Forms Index

+

Placeholder for listing forms.

\ No newline at end of file diff --git a/app/views/forms/new.html.erb b/app/views/forms/new.html.erb new file mode 100644 index 0000000..e4a8cb0 --- /dev/null +++ b/app/views/forms/new.html.erb @@ -0,0 +1,2 @@ +

Forms#new

+

Find me in app/views/forms/new.html.erb

diff --git a/app/views/forms/show.html.erb b/app/views/forms/show.html.erb new file mode 100644 index 0000000..19869da --- /dev/null +++ b/app/views/forms/show.html.erb @@ -0,0 +1,2 @@ +

Forms#show

+

Find me in app/views/forms/show.html.erb

diff --git a/app/views/forms/update.html.erb b/app/views/forms/update.html.erb new file mode 100644 index 0000000..ea10c92 --- /dev/null +++ b/app/views/forms/update.html.erb @@ -0,0 +1,2 @@ +

Forms#update

+

Find me in app/views/forms/update.html.erb

diff --git a/app/views/layouts/_navbar.html.erb b/app/views/layouts/_navbar.html.erb index c81b7e2..0184543 100644 --- a/app/views/layouts/_navbar.html.erb +++ b/app/views/layouts/_navbar.html.erb @@ -6,7 +6,7 @@