User management
This commit is contained in:
parent
d7cedacd11
commit
0ff80b3e16
|
@ -1,2 +1,40 @@
|
|||
class UsersController < ApplicationController
|
||||
def index
|
||||
@users = User.all
|
||||
end
|
||||
|
||||
def new
|
||||
@user = User.new
|
||||
end
|
||||
|
||||
def edit
|
||||
@user = User.find params[:id]
|
||||
end
|
||||
|
||||
def destroy
|
||||
User.destroy params[:id]
|
||||
redirect_to users_path
|
||||
end
|
||||
|
||||
def create
|
||||
@user = User.new params[:user]
|
||||
if @user.save
|
||||
flash[:notice] = t('flash.user.saved')
|
||||
redirect_to users_path
|
||||
else
|
||||
flash[:error] = t('flash.user.save_error')
|
||||
render :action => :new
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
@user = User.find params[:id]
|
||||
if @user.update_attributes(params[:user])
|
||||
flash[:notice] = t('flash.user.saved')
|
||||
redirect_to users_path
|
||||
else
|
||||
flash[:error] = t('flash.user.save_error')
|
||||
render :action => :edit
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
class UserMailer < ActionMailer::Base
|
||||
default :from => APP_CONFIG['no-reply-email']
|
||||
|
||||
def new_user_notification(user)
|
||||
@user = user
|
||||
mail(:to => user.email, :subject => "Регистрация на проекте «#{APP_CONFIG['project_name']}»")
|
||||
end
|
||||
end
|
|
@ -1,6 +1,20 @@
|
|||
require 'digest/md5'
|
||||
class User < ActiveRecord::Base
|
||||
devise :database_authenticatable,
|
||||
:recoverable, :rememberable, :validatable
|
||||
|
||||
attr_accessible :email, :password, :password_confirmation, :remember_me, :name
|
||||
|
||||
before_validation :generate_password, :on => :create
|
||||
after_create :send_notification_email
|
||||
|
||||
protected
|
||||
|
||||
def generate_password
|
||||
self.password = self.password_confirmation = Digest::MD5.hexdigest(Date.today.to_s)[0..6]
|
||||
end
|
||||
|
||||
def send_notification_email
|
||||
UserMailer.new_user_notification(self).deliver
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
%h1
|
||||
= t('layout.platforms.show')
|
||||
= @platform.name
|
||||
= link_to t('layout.platforms.back_to_the_list'), platforms_path
|
||||
|
||||
%h2= t('layout.platforms.projects')
|
||||
- @projects.each do |project|
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
== Здравствуйте, #{@user.name}
|
||||
|
||||
== Вы зарегистрированы на проекте «#{APP_CONFIG['project_name']}» и теперь можете войти в систему. Ваш пароль: #{@user.password}
|
||||
|
||||
== Команда поддержки #{APP_CONFIG['project_name']}
|
|
@ -0,0 +1,11 @@
|
|||
%h1= @user.name
|
||||
= form_for @user do |f|
|
||||
%p
|
||||
= f.label :name
|
||||
= f.text_field :name
|
||||
%p
|
||||
= f.label :email
|
||||
= f.text_field :email
|
||||
%p
|
||||
= f.submit
|
||||
= link_to t('layout.users.back_to_the_list'), users_path
|
|
@ -0,0 +1,12 @@
|
|||
%h1= t('layout.user_list')
|
||||
%ul
|
||||
- @users.each do |user|
|
||||
%li
|
||||
= link_to user.name, edit_user_path(user)
|
||||
(
|
||||
%span>= user.email
|
||||
)
|
||||
= link_to t('layout.delete'), user_path(user), :method => :delete, :confirm => t('layout.are_you_sure')
|
||||
%p
|
||||
= link_to t('layout.users.new'), new_user_path
|
||||
= link_to t('layout.platforms.back_to_the_list'), platforms_path
|
|
@ -0,0 +1,11 @@
|
|||
%h1= t('layout.users.new')
|
||||
= form_for @user do |f|
|
||||
%p
|
||||
= f.label :name
|
||||
= f.text_field :name
|
||||
%p
|
||||
= f.label :email
|
||||
= f.text_field :email
|
||||
%p
|
||||
= f.submit
|
||||
= link_to t('layout.users.back_to_the_list'), users_path
|
|
@ -1 +1 @@
|
|||
APP_CONFIG = YAML.load_file("#{RAILS_ROOT}/config/application.yml")[RAILS_ENV]
|
||||
APP_CONFIG = YAML.load_file("#{Rails.root}/config/application.yml")[Rails.env]
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
ru:
|
||||
devise:
|
||||
sessions:
|
||||
link: 'Войти'
|
||||
signed_in: 'Вы вошли.'
|
||||
signed_out: 'Вы вышли.'
|
||||
failure:
|
||||
unauthenticated: 'Вы должны войти или зарегистрироваться, прежде чем сможете продолжить.'
|
||||
unconfirmed: 'Вы должны подтвердить вашу учетную запись, прежде чем сможете продолжить.'
|
||||
locked: 'Ваша учетная запись заблокирована.'
|
||||
|
@ -11,6 +8,10 @@ ru:
|
|||
invalid_token: 'Неверный ключ аутентификации.'
|
||||
timeout: 'Ваша сессия закончена. Пожалуйста, войдите еще раз, чтобы продолжить.'
|
||||
inactive: 'Ваша учетная запись еще не активирована.'
|
||||
sessions:
|
||||
link: 'Войти'
|
||||
signed_in: 'Вы вошли.'
|
||||
signed_out: 'Вы вышли.'
|
||||
passwords:
|
||||
link: 'Забыли пароль?'
|
||||
send_instructions: 'Вы получите письмо с инструкциями о том, как сбросить ваш пароль, через несколько минут.'
|
||||
|
|
|
@ -6,7 +6,9 @@ ru:
|
|||
user_list: Список пользователей
|
||||
cancel: Отмена
|
||||
create: Создать
|
||||
delete: удалить
|
||||
save: Сохранить
|
||||
are_you_sure: "Вы уверены?"
|
||||
platforms:
|
||||
list: Платформы
|
||||
new: Создать новую платформу
|
||||
|
@ -14,13 +16,20 @@ ru:
|
|||
show: Платформа
|
||||
projects: Проекты
|
||||
products: Продукты
|
||||
back_to_the_list: ⇐К списку платформ
|
||||
projects:
|
||||
new: Новый проект
|
||||
users:
|
||||
new: Новый пользователь
|
||||
back_to_the_list: ⇐К списку пользователей
|
||||
|
||||
flash:
|
||||
project:
|
||||
saved: Проект успешно сохранен
|
||||
save_error: Не удалось сохранить проект
|
||||
user:
|
||||
saved: Пользователь успешно сохранен
|
||||
save_error: Не удалось сохранить данные о пользователе
|
||||
|
||||
attributes:
|
||||
password: Пароль
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
require "spec_helper"
|
||||
|
||||
describe UserMailer do
|
||||
pending "add some examples to (or delete) #{__FILE__}"
|
||||
end
|
Loading…
Reference in New Issue