diff --git a/app/controllers/management/statistics_controller.rb b/app/controllers/management/statistics_controller.rb index 15c84f758cacd80202729ba2a3b58642d23a64ee..2ad8a384063cf2a6a743f15c3b32cead63baee28 100644 --- a/app/controllers/management/statistics_controller.rb +++ b/app/controllers/management/statistics_controller.rb @@ -114,10 +114,10 @@ class Management::StatisticsController < ManagementController def accesses end - def destaques + def highlights end - def colections + def collections g = Gruff::Pie.new g.title = "Por área de atuação" diff --git a/app/controllers/management/users_controller.rb b/app/controllers/management/users_controller.rb index 36201b8cd81d50ba8b9f0a30feca04df17787ff6..cc53f3b3b15b4a4e118f4d3a83288e82d2d9a7c0 100644 --- a/app/controllers/management/users_controller.rb +++ b/app/controllers/management/users_controller.rb @@ -1,7 +1,78 @@ class Management::UsersController < ManagementController + before_action :set_user, only: [:show, :edit, :update, :destroy] + def index + @users = user_repository.all end + # GET /users/1 + # GET /users/1.json def show end + + # GET /users/new + def new + @user = User.new + end + + # GET /users/1/edit + def edit + end + + # POST /users + # POST /users.json + def create + @user = User.new(user_params) + + respond_to do |format| + if user_repository.save @user + format.html { redirect_to management_user_path(@user), notice: "User created!" } + format.json { render :show, status: :created, location: @user } + else + format.html { render :new } + format.json { render json: @user.errors, status: :unprocessable_entity } + end + end + end + + # PATCH/PUT /users/1 + # PATCH/PUT /users/1.json + def update + respond_to do |format| + if user_repository.update(user_params) + format.html { redirect_to management_user_path(@user), notice: "User updated!" } + format.json { render :show, status: :ok, location: @user } + else + format.html { render :edit } + format.json { render json: @user.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /users/1 + # DELETE /users/1.json + def destroy + user_repository.destroy @user + respond_to do |format| + format.html { redirect_to management_users_path, notice: "User destroyed!" } + format.json { head :no_content } + end + end + + private + + # Use callbacks to share common setup or constraints between actions. + def set_user + @user = user_repository.find params[:id] + end + + # Never trust parameters from the scary internet, only allow the white list through. + def user_params + params.require(:user).permit(:name, :email, :password, :password_confirmation) + end + + def user_repository + repository.for(:user) + end + end diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb deleted file mode 100644 index 2310a240d78bd6361668625f782ada9d71cdd6c5..0000000000000000000000000000000000000000 --- a/app/helpers/users_helper.rb +++ /dev/null @@ -1,2 +0,0 @@ -module UsersHelper -end diff --git a/app/repositories/active_record/user_repository.rb b/app/repositories/active_record/user_repository.rb index 0f9109e58ecae8e5eec4375024b1f0b046b2371d..e87064ee1c1159a5ef4df920396522c75ded8aa1 100644 --- a/app/repositories/active_record/user_repository.rb +++ b/app/repositories/active_record/user_repository.rb @@ -1,13 +1,24 @@ module ActiveRecord class UserRepository - def find_by_id(rid) + def find(*ids) + User.find ids end - def author_of(rid) + def all + User.all end - def has(rid) + def save(user) + user.save + end + + def update(params={}) + User.update params + end + + def destroy(user) + user.destroy end end diff --git a/app/repositories/orient_db/user_repository.rb b/app/repositories/orient_db/user_repository.rb index 981554bba1c9e28295ad0f0dffa41c8da102d648..cbd1896d779e8f650e4b9333d5f4c3a127cbd717 100644 --- a/app/repositories/orient_db/user_repository.rb +++ b/app/repositories/orient_db/user_repository.rb @@ -1,16 +1,33 @@ module OrientDb class UserRepository < Base + def find(*ids) + end + + def all + end + + def save(user) + end + + def update(params={}) + end + + def destroy(user) + end + + private + def find_by_id(rid) - return connection.query "SELECT FROM User WHERE @rid=#{rid}" + connection.query "SELECT FROM User WHERE @rid=#{rid}" end def author_of(rid) - return connection.query "SELECT expand(in) FROM (SELECT expand(out_author_of) FROM User WHERE @rid=#{rid})" + connection.query "SELECT expand(in) FROM (SELECT expand(out_author_of) FROM User WHERE @rid=#{rid})" end def has(rid) - return connection.query "SELECT expand(in) FROM (SELECT expand(out_has) FROM User WHERE @rid=#{rid})" + connection.query "SELECT expand(in) FROM (SELECT expand(out_has) FROM User WHERE @rid=#{rid})" end end diff --git a/app/views/layouts/management.html.erb b/app/views/layouts/management.html.erb index 1c54f6a99a969218b56b0315a16637947376878c..d9fbb751ca3cc4406483fecb880a73a083551014 100644 --- a/app/views/layouts/management.html.erb +++ b/app/views/layouts/management.html.erb @@ -80,42 +80,21 @@ <!--Menu à esquerda--> <nav class="ls-menu"> <ul> - <li><a class="ls-ico-home" - <%= link_to "InÃcio", management_root_path %>> - </a></li> - - <li><a class="ls-ico-star" - <%= link_to "Objetos em destaque", management_highlights_index_path %>> - </a><li> + <li><%= link_to "InÃcio", management_root_path, class: 'ls-ico-home' %></li> + <li><%= link_to "Objetos em destaque", management_highlights_path, class: 'ls-ico-star' %><li> <li class="ls-submenu"> <a href="#" class="ls-ico-stats">EstatÃsticas</a> - <ul role="menu"> - <a class="ls-submenu-item" - <%= link_to "Geral", management_statistics_index_path %>> - </a> - <a class="ls-submenu-item" - <%= link_to "Usuários", management_statistics_users_path %>> - </a>> - <li><a class="ls-submenu-item" - <%= link_to "Coleções", management_statistics_colections_path %>> - </a></li> - <li><a class="ls-submenu-item" - <%= link_to "Downloads", management_statistics_downloads_path %>> - </a></li> - <li><a class="ls-submenu-item" - <%= link_to "Acessos", management_statistics_accesses_path %>> - </a></li> - </ul> + <ul role="menu"> + <li><%= link_to "Geral", management_index_statistics_path, class: 'ls-submenu-item' %></li> + <li><%= link_to "Usuários", management_users_statistics_path, class: 'ls-submenu-item' %></li> + <li><%= link_to "Coleções", management_collections_statistics_path, class: 'ls-submenu-item' %></li> + <li><%= link_to "Downloads", management_downloads_statistics_path, class: 'ls-submenu-item' %></li> + <li><%= link_to "Acessos", management_accesses_statistics_path, class: 'ls-submenu-item' %></li> + </ul> </li> - <li><a class = "ls-ico-users" - <%= link_to "Usuários", management_users_index_path %>> - </a></li> - - <li> <a class="ls-ico-bullhorn" - <%= link_to "Denúncias", management_complaints_path%>> - </a><li> - + <li><%= link_to "Usuários", management_users_path, class: 'ls-ico-users' %></li> + <li><%= link_to "Denúncias", '#', class: 'ls-ico-bullhorn' %><li> </ul> </nav> </aside> diff --git a/app/views/management/statistics/colections.html.erb b/app/views/management/statistics/collections.html.erb similarity index 100% rename from app/views/management/statistics/colections.html.erb rename to app/views/management/statistics/collections.html.erb diff --git a/app/views/management/users.html.erb b/app/views/management/users.html.erb deleted file mode 100644 index 00d8495a333df65c3e0cc3bda311737859d28410..0000000000000000000000000000000000000000 --- a/app/views/management/users.html.erb +++ /dev/null @@ -1,55 +0,0 @@ -<ol class="ls-breadcrumb"> - <!--<li><a href="/manage">Inicio</a></li>--> - <li><%= link_to "InÃcio", management_root_path %></li> - <li>Usuários</li> -</ol> -<h1><b> Gerenciamento de usuários </b></h1> - - - -<%= form_for([:management, @user], html: {class: 'grid-form'}) do |f| %> - - <fieldset> - - <% if @user.errors.any? %> - <div class="flakes-message error"> - <h2><%= pluralize(@user.errors.count, "erro") %> <%= t("happened").pluralize(@user.errors.count) %>:</h2> - <ul> - <% @user.errors.full_messages.each do |message| %> - <li><%= message %></li> - <% end %> - </ul> - </div> - <% end %> - - <div data-row-span="2"> - <div data-field-span="1"> - <%= f.label :name, t("name") %> - <%= f.text_field :name, {required: true} %> - </div> - - <div data-field-span="1"> - <%= f.label :email, t("email") %> - <%= f.text_field :email, {required: true} %> - </div> - </div> - - <div data-row-span="2"> - <div data-field-span="1"> - <%= f.label :password, t("password") %> - <%= f.password_field :password %> - </div> - <div data-field-span="1"> - <%= f.label :password_confirmation, t("password_confirmation") %> - <%= f.password_field :password_confirmation %> - </div> - </div> - - <div data-row-span="1"> - <div data-field-spn="1"> - <%= submit_button f %> - </div> - </div> - - </fieldset> -<% end %> diff --git a/app/views/management/users/index.html.erb b/app/views/management/users/index.html.erb index c9bf8dfb50dc7faf3fc1e1fbe474c3cfa8636078..d74dd42c54054e6c9de97392065323634a2596da 100644 --- a/app/views/management/users/index.html.erb +++ b/app/views/management/users/index.html.erb @@ -1,14 +1,186 @@ -<h1><%= t("users") %></h1> -<br> -<div id="inventory-search"> - <%= form_tag management_users_index_path, method: 'get' do %> - <div class="flakes-search"> - <%= text_field_tag :search, params[:search], class: 'search-box search', placeholder: '', autofocus: '' %> + <h1 class="ls-title-intro ls-ico-users">Usuários</h1> + + <a href="#" class="ls-btn-primary" aria-expanded="false" role="combobox">Cadastrar + novo</a> + + <div class="ls-box-filter"> + <form action="" class="ls-form ls-form-inline ls-float-left"> + <label class="ls-label col-md-6 col-sm-8"> + <b class="ls-label-text">Status</b> + + <div class="ls-custom-select ls-field-sm"> + <select name="" class="ls-select"> + <option>Todos</option> + <option>Ativos</option> + <option>Desativados</option> + </select> + </div> + </label> + </form> + + <form action="" class="ls-form ls-form-inline ls-float-right"> + <label class="ls-label" role="search"> + <b class="ls-label-text ls-hidden-accessible">Nome do usuário</b> + <input type="text" id="q" name="q" aria-label="Faça sua busca por usuário" placeholder="Nome do usuário" required="" class="ls-field-sm"> + </label> + + <div class="ls-actions-btn"> + <input type="submit" value="Buscar" class="ls-btn ls-btn-sm" title="Buscar" aria-expanded="false" role="combobox"> </div> - <% end %> - <div class="flakes-actions-bar"> - <%= link_to t("new_user"), {}, class: 'action button-gray smaller right' %> + </form> </div> + <table class="ls-table"> + <thead> + <tr> + <th>Nome do usuário</th> + <th class="ls-txt-center hidden-xs">Status</th> + <th class="ls-txt-center">Envios disponÃveis</th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="#">João da Silva</a> + <span class="ls-tag hidden-xs">Curador</span> + </td> + <td class="ls-txt-center hidden-xs">Ativo</td> + <td class="ls-txt-center"> + 100.000 + <small class="ls-display-block">até 01/01/2014</small> + </td> + <td class="ls-txt-right ls-regroup"> + <a href="#" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox">Administrar</a> + + <div data-ls-module="dropdown" class="ls-dropdown ls-pos-right"> + <a href="#" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox"></a> + <ul class="ls-dropdown-nav" aria-hidden="true"> + <li><a href="#" role="option">Desativar</a></li> + <li><a href="#" class="ls-color-danger" role="option">Excluir</a></li> + </ul> + </div> + + </td> + </tr> + <tr> + <td> + <a href="#">João da Silva</a> + </td> + <td class="ls-txt-center hidden-xs">Ativo</td> + <td class="ls-txt-center"> + 100.000 + <small class="ls-display-block">até 01/01/2014</small> + </td> + <td class="ls-txt-right ls-regroup"> + <a href="#" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox">Administrar</a> + + <div data-ls-module="dropdown" class="ls-dropdown ls-pos-right"> + <a href="#" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox"></a> + <ul class="ls-dropdown-nav" aria-hidden="true"> + <li><a href="#" role="option">Desativar</a></li> + <li><a href="#" class="ls-color-danger" role="option">Excluir</a></li> + </ul> + </div> + + </td> + </tr> + <tr> + <td> + <a href="/locawebstyle/documentacao/exemplos/painel1/client">João da Silva</a> + <span class="ls-tag hidden-xs">Curador</span> + </td> + <td class="ls-txt-center hidden-xs">Ativo</td> + <td class="ls-txt-center"> + 100.000 + <small class="ls-display-block">até 01/01/2014</small> + </td> + <td class="ls-txt-right ls-regroup"> + <a href="/locawebstyle/documentacao/exemplos/painel1/client" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox">Administrar</a> + + <div data-ls-module="dropdown" class="ls-dropdown ls-pos-right"> + <a href="#" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox"></a> + <ul class="ls-dropdown-nav" aria-hidden="true"> + <li><a href="#" role="option">Desativar</a></li> + <li><a href="#" class="ls-color-danger" role="option">Excluir</a></li> + </ul> + </div> + + </td> + </tr> + <tr> + <td> + <a href="/locawebstyle/documentacao/exemplos/painel1/client">João da Silva</a> + </td> + <td class="ls-txt-center hidden-xs">Ativo</td> + <td class="ls-txt-center"> + 100.000 + <small class="ls-display-block">até 01/01/2014</small> + </td> + <td class="ls-txt-right ls-regroup"> + <a href="/locawebstyle/documentacao/exemplos/painel1/client" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox">Administrar</a> + + <div data-ls-module="dropdown" class="ls-dropdown ls-pos-right"> + <a href="#" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox"></a> + <ul class="ls-dropdown-nav" aria-hidden="true"> + <li><a href="#" role="option">Desativar</a></li> + <li><a href="#" class="ls-color-danger" role="option">Excluir</a></li> + </ul> + </div> + + </td> + </tr> + <tr> + <td> + <a href="/locawebstyle/documentacao/exemplos/painel1/client">João da Silva</a> + <span class="ls-tag hidden-xs">Curador</span> + </td> + <td class="ls-txt-center hidden-xs">Ativo</td> + <td class="ls-txt-center"> + 100.000 + <small class="ls-display-block">até 01/01/2014</small> + </td> + <td class="ls-txt-right ls-regroup"> + <a href="/locawebstyle/documentacao/exemplos/painel1/client" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox">Administrar</a> + + <div data-ls-module="dropdown" class="ls-dropdown ls-pos-right"> + <a href="#" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox"></a> + <ul class="ls-dropdown-nav" aria-hidden="true"> + <li><a href="#" role="option">Desativar</a></li> + <li><a href="#" class="ls-color-danger" role="option">Excluir</a></li> + </ul> + </div> + + </td> + </tr> + + </tbody> + </table> + + <div class="ls-pagination-filter"> + <ul class="ls-pagination"> + <li><a href="#">« Anterior</a></li> + <li class="ls-active"><a href="#">1</a></li> + <li><a href="#">2</a></li> + <li><a href="#">3</a></li> + <li><a href="#" class="hidden-xs">4</a></li> + <li><a href="#" class="hidden-xs">5</a></li> + <li><a href="#">Próximo »</a></li> + </ul> + + <div class="ls-filter-view"> + <label for=""> + Exibir + <div class="ls-custom-select ls-field-sm"> + <select name="" id=""> + <option value="10">10</option> + <option value="30">30</option> + <option value="50">50</option> + <option value="100">100</option> + </select> + </div> + Ãtens por página + </label> + </div> + </div> -</div> diff --git a/app/views/users/index.html.erb b/app/views/users/index.html.erb deleted file mode 100644 index 6fbc23e3af6e1bd16a147babd63b60a18b9bcefb..0000000000000000000000000000000000000000 --- a/app/views/users/index.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -<h1>Users#index</h1> -<p>Find me in app/views/users/index.html.erb</p> -<%= @user%> diff --git a/config/deploy.rb b/config/deploy.rb index bb8a24112c0d802fbedeeb3149bfd6858e23e380..7322170f505353b05ae2f2616238ea7dcc43c06a 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -12,7 +12,6 @@ set :branch, 'master' set :user, 'portalmec' task :environment do - #invoke :'rbenv:load' end task deploy: :environment do @@ -31,4 +30,4 @@ task deploy: :environment do queue %[echo "----------> Pre compiling assets"] execute 'bundle exec rake assets:precompile' end -end +end \ No newline at end of file diff --git a/config/initializers/repositories.rb b/config/initializers/repositories.rb index 47bcd07cf5791529dfd46ab2184186ad0b4b67c5..d4aec90fb220b971bddf2bf3275627b63c405b98 100644 --- a/config/initializers/repositories.rb +++ b/config/initializers/repositories.rb @@ -1,19 +1,19 @@ Repository::Environments.create :development do |repository| - repository.register :user, OrientDb::UserRepository.new(OrientDb::Client.instance) + repository.register :user, ActiveRecord::UserRepository.new repository.register :university, OrientDb::UniversityRepository.new(OrientDb::Client.instance) repository.register :highlight, OrientDb::HighlightRepository.new(OrientDb::Client.instance) repository.register :country, OrientDb::CountryRepository.new(OrientDb::Client.instance) end Repository::Environments.create :test do |repository| - repository.register :user, OrientDb::UserRepository.new(OrientDb::Client.instance) + repository.register :user, ActiveRecord::UserRepository.new(OrientDb::Client.instance) repository.register :university, OrientDb::UniversityRepository.new(OrientDb::Client.instance) repository.register :highlight, OrientDb::HighlightRepository.new(OrientDb::Client.instance) repository.register :country, OrientDb::CountryRepository.new(OrientDb::Client.instance) end Repository::Environments.create :production do |repository| - repository.register :user, OrientDb::UserRepository.new(OrientDb::Client.instance) + repository.register :user, ActiveRecord::UserRepository.new(OrientDb::Client.instance) repository.register :university, OrientDb::UniversityRepository.new(OrientDb::Client.instance) repository.register :highlight, OrientDb::HighlightRepository.new(OrientDb::Client.instance) repository.register :country, OrientDb::CountryRepository.new(OrientDb::Client.instance) diff --git a/config/orient_db.yml b/config/orient_db.yml index 502d9c5ccd0fa1bdd2ec5113821e7afea0ecf16e..18387411a39310fee3aed3951a89d7532a0e90a4 100644 --- a/config/orient_db.yml +++ b/config/orient_db.yml @@ -3,15 +3,18 @@ development: &development database: PortalMEC username: admin password: admin + port: 2480 test: host: mecdb2.c3sl.ufpr.br database: PortalMEC username: admin password: admin + port: 2480 production: host: mecdb2.c3sl.ufpr.br database: PortalMEC username: admin - password: admin \ No newline at end of file + password: admin + port: 2480 \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 0be24f2a399886380eaa141efe721571163611fb..1c746af135195fb48181ab5d38aea8f1a26845fe 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,89 +1,25 @@ Rails.application.routes.draw do - resources :universities - resources :countries - - resources :users - resources :highlights, :only => [:new, :create] - match '/highlights' => 'highlights#create', :via => :post namespace :management do root 'welcome#index' - post 'highlights/create' - post 'highlights/destroy' - end - root 'welcome#index' + # statistics + get 'statistics/', to: 'statistics#index', as: 'index_statistics' + get 'statistics/users/' => 'statistics#users', as: 'users_statistics' + get 'statistics/collections' => 'statistics#collections', as: 'collections_statistics' + get 'statistics/accesses' => 'statistics#accesses', as: 'accesses_statistics' + get 'statistics/downloads' => 'statistics#downloads', as: 'downloads_statistics' - #get 'management/statistics/' => 'management#statistics' + resources :users + resources :highlights + end + root 'welcome#index' + resources :universities + resources :countries - get 'management/statistics/', to: 'management/statistics#index', as: 'management_statistics_index' - get 'management/statistics/users/' => 'management/statistics#users' - get 'management/statistics/colections' => 'management/statistics#colections' - get 'management/statistics/accesses' => 'management/statistics#accesses' - get 'management/statistics/downloads' => 'management/statistics#downloads' - get 'management/complaints' => 'management#complaints' - get 'management/users', to:'management/users#index', as: 'management_users_index' - get 'management/destaques', to: 'management/highlights#index', as: 'management_highlights_index' - get 'management/destaques/new', to: 'management/highlights#new', as: 'management_highlights_new' - get 'management/destaques/delete', to: 'management/highlights#delete', as: 'management_highlights_delete' get '/faq' => 'welcome#faq' - get '/contato' => 'welcome#contact', as: 'contact' + get '/contact' => 'welcome#contact', as: 'contact' get '/complaint' => 'welcome#complaint', as: 'complaint' - - # The priority is based upon order of creation: first created -> highest priority. - # See how all your routes lay out with "rake routes". - - # You can have the root of your site routed with "root" - # root 'welcome#index' - - # Example of regular route: - # get 'products/:id' => 'catalog#view' - - # Example of named route that can be invoked with purchase_url(id: product.id) - # get 'products/:id/purchase' => 'catalog#purchase', as: :purchase - - # Example resource route (maps HTTP verbs to controller actions automatically): - # resources :products - - # Example resource route with options: - # resources :products do - # member do - # get 'short' - # post 'toggle' - # end - # - # collection do - # get 'sold' - # end - # end - - # Example resource route with sub-resources: - # resources :products do - # resources :comments, :sales - # resource :seller - # end - - # Example resource route with more complex sub-resources: - # resources :products do - # resources :comments - # resources :sales do - # get 'recent', on: :collection - # end - # end - - # Example resource route with concerns: - # concern :toggleable do - # post 'toggle' - # end - # resources :posts, concerns: :toggleable - # resources :photos, concerns: :toggleable - - # Example resource route within a namespace: - # namespace :admin do - # # Directs /admin/products/* to Admin::ProductsController - # # (app/controllers/admin/products_controller.rb) - # resources :products - # end end