From 7cb4bba0efd7cea36f09ed8db30d2a3bf4831f30 Mon Sep 17 00:00:00 2001 From: Giovanne Marcelo <gms15@inf.ufpr.br> Date: Mon, 22 Feb 2016 12:06:10 -0300 Subject: [PATCH] [WIP] Adding complaints reason --- .../complaints_reasons_controller.rb | 66 +++++++++++++++++++ .../complaints_reasons/_form.html.erb | 27 ++++++++ .../complaints_reasons/edit.html.erb | 7 ++ .../complaints_reasons/index.html.erb | 26 ++++++++ .../complaints_reasons/new.html.erb | 6 ++ .../shared/management/_nav_menu.html.erb | 10 ++- config/routes.rb | 2 + 7 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 app/controllers/management/complaints_reasons_controller.rb create mode 100644 app/views/management/complaints_reasons/_form.html.erb create mode 100644 app/views/management/complaints_reasons/edit.html.erb create mode 100644 app/views/management/complaints_reasons/index.html.erb create mode 100644 app/views/management/complaints_reasons/new.html.erb diff --git a/app/controllers/management/complaints_reasons_controller.rb b/app/controllers/management/complaints_reasons_controller.rb new file mode 100644 index 00000000..7dd3412f --- /dev/null +++ b/app/controllers/management/complaints_reasons_controller.rb @@ -0,0 +1,66 @@ +class Management::ComplaintsReasonsController < ManagementController + + before_action :set_complaint_reason, only: [:destroy, :update, :edit] + + def index + @complaint_reasons = ComplaintReason.all + end + + + def new + @complaint_reason = ComplaintReason.new + end + + def create + @complaint_reason = ComplaintReason.new(complaint_reason_params) + + respond_to do |format| + if @complaint_reason.save + format.html { redirect_to [:management, @complaint_reason], notice: 'Instituição criada com sucesso.' } + format.json { render :show, status: :created, location: @complaint_reason } + else + format.html { render :new } + format.json { render json: @complaint_reason.errors, status: :unprocessable_entity } + end + end + end + + + def destroy + ComplaintReason.destroy @complaint_reason + + respond_to do |format| + format.html { redirect_to :back, notice: 'Razão de denúncia excluÃda com sucesso.' } + end + + end + + def edit + end + + + def update + respond_to do |format| + if @complaint_reason.update complaint_reason_params + format.html { redirect_to [:management, @complaint_reason], notice: 'Instituição modificada com sucesso.' } + format.json { render :show, status: :ok, location: @complaint_reason } + else + format.html { render :edit } + format.json { render json: @complaint_reason.errors, status: :unprocessable_entity } + end + end + end + + + + private + + def set_complaint_reason + @complaint_reason = ComplaintReason.find params[:id] + end + + def complaint_reason_params + params.require(:complaint_reason).permit(:reason) + end + +end diff --git a/app/views/management/complaints_reasons/_form.html.erb b/app/views/management/complaints_reasons/_form.html.erb new file mode 100644 index 00000000..ddaa364e --- /dev/null +++ b/app/views/management/complaints_reasons/_form.html.erb @@ -0,0 +1,27 @@ +<%= form_for([:management, @complaint_reason], html: {class: 'ls-form row'}) do |f| %> + + <% if @complaint_reason.errors.any? %> + <div class="ls-alert-danger"> + <h2><%= pluralize(@complaint_reason.errors.count, "erro") %> <%= "happened".pluralize(@complaint_reason.errors.count) %>:</h2> + <ul> + <% @complaint_reason.errors.full_messages.each do |message| %> + <li><%= message %></li> + <% end %> + </ul> + </div> + <% end %> + + <fieldset> + <label class="ls-label col-md-3"> + <b class="ls-label-text">Razão</b> + <p>Digite a razão</p> + <%= f.text_field :reason, {required: true} %> + </label> + </fieldset> + + <div class="ls-actions-btn"> + <button class="ls-btn">Salvar</button> + <%= link_to "Cancelar", management_complaints_reason_path,class: "ls-btn-danger"%> + </div> + +<% end %> diff --git a/app/views/management/complaints_reasons/edit.html.erb b/app/views/management/complaints_reasons/edit.html.erb new file mode 100644 index 00000000..5a7c8de1 --- /dev/null +++ b/app/views/management/complaints_reasons/edit.html.erb @@ -0,0 +1,7 @@ +<h1 class="ls-title-intro ls-ico-star">Razões</h1> + +<ol class="ls-breadcrumb"> + <li><%= link_to 'Razões', management_complaints_reason_path %></li> +</ol> + +<%= render 'form' %> diff --git a/app/views/management/complaints_reasons/index.html.erb b/app/views/management/complaints_reasons/index.html.erb new file mode 100644 index 00000000..06c86cb8 --- /dev/null +++ b/app/views/management/complaints_reasons/index.html.erb @@ -0,0 +1,26 @@ +<h1 class="ls-title-intro ls-ico-bullhorn">Denúncias</h1> + +<h2 class="ls-title-4">Razões das Denúncias</h2> + + +<div class="ls-clearfix"></div> + +<% @complaint_reasons.each do |complaint| %> +<div class="ls-list"> + <header class="ls-list-header"> + <div class="ls-list-title col-md-9"> + <a href="#" ><%= complaint.reason %></a> + </div> + <div class="col-md-3 ls-txt-right"> + <%= link_to 'Modificar', edit_management_complaints_reason_path(complaint), class:'ls-btn-primary ls-ico-cog' %> + <%= link_to 'Excluir', management_complaints_reason_path(id: complaint.id), {method: :delete, data: {confirm: 'Tem certeza que deseja excluir esta razão de denúncia?'}, title: 'Excluir', class: 'ls-btn ls-btn-sm', role: 'button'} %> + </div> + </header> +</div> +<% end %> + +<%= link_to 'Nova Razão', new_management_complaints_reason_path, title: 'Excluir', class: 'ls-btn ls-btn-sm', role: 'button' %> + + + +</div> diff --git a/app/views/management/complaints_reasons/new.html.erb b/app/views/management/complaints_reasons/new.html.erb new file mode 100644 index 00000000..db339872 --- /dev/null +++ b/app/views/management/complaints_reasons/new.html.erb @@ -0,0 +1,6 @@ +<h1 class="ls-title-intro ls-ico-star">Razão</h1> + +<ol class="ls-breadcrumb"> +</ol> + +<%= render 'form' %> diff --git a/app/views/shared/management/_nav_menu.html.erb b/app/views/shared/management/_nav_menu.html.erb index da551739..90afd036 100644 --- a/app/views/shared/management/_nav_menu.html.erb +++ b/app/views/shared/management/_nav_menu.html.erb @@ -22,7 +22,15 @@ <li><%= link_to "Administradores", admins_management_users_path, class: 'ls-submenu-item' %></li> </ul> </li> - <li><%= link_to "Denúncias", management_complaints_path, class: 'ls-ico-bullhorn' %> + + <li class="ls-submenu"> + <a href="#" class="ls-ico-bullhorn">Denúncias</a> + <ul role="menu"> + <li><%= link_to "Denúncias", management_complaints_path, class: 'ls-submenu-item' %> + <li><%= link_to "Razões", management_complaints_reasons_path, class: 'ls-submenu-item' %> + </ul> + </li> + <li> <%= link_to "Voltar ao Portal", root_path, class: 'ls-ico-chevron-left' %> </li> </ul> diff --git a/config/routes.rb b/config/routes.rb index 9c7b79d7..f5196368 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -18,6 +18,8 @@ Rails.application.routes.draw do delete '/user/:user_id', as: :remove_user, action: :remove_user end end + + resources :complaints_reasons resources :highlights resources :carousels -- GitLab