This commit is contained in:
r888888888
2015-06-30 13:13:57 -07:00
parent d56aa3bc2d
commit 1abdcb3cf3
6 changed files with 54 additions and 10 deletions

View File

@@ -0,0 +1,9 @@
module Maintenance
module User
class PasswordsController < ApplicationController
def edit
@user = CurrentUser.user
end
end
end
end

View File

@@ -55,6 +55,8 @@ class UsersController < ApplicationController
cookies.delete(:favorite_tags_with_categories)
if @user.errors.any?
flash[:notice] = @user.errors.full_messages.join("; ")
else
flash[:notice] = "Settings updated"
end
respond_with(@user)
end

View File

@@ -0,0 +1,15 @@
<div id="c-users">
<div id="a-edit">
<h1>Change Password</h1>
<%= simple_form_for @user do |f| %>
<%= f.input :old_password, :as => :password, :input_html => {:autocomplete => "off"} %>
<%= f.input :password, :label => "New password", :input_html => {:autocomplete => "off"} %>
<%= f.button :submit, "Submit" %>
<% end %>
</div>
</div>
<% content_for(:page_title) do %>
Change Password - <%= Danbooru.config.app_name %>
<% end %>

View File

@@ -3,7 +3,14 @@
<h1>Settings</h1>
<%= simple_form_for @user do |f| %>
<h2 id="edit-options"><%= link_to "Basic settings", "#basic-settings", :class => "active" %> | <%= link_to "Advanced settings", "#advanced-settings" %> | <%= link_to "Change password", "#change-password" %> | <%= link_to "Delete account", maintenance_user_deletion_path, :id => "delete-account" %></h2>
<h2 id="edit-options">
<%= link_to "Basic settings", "#basic-settings", :class => "active" %>
| <%= link_to "Advanced settings", "#advanced-settings" %>
<% if CurrentUser.user.id == @user.id %>
| <%= link_to "Change password", edit_user_password_path(:user_id => @user.id), :id => "change-password" %>
| <%= link_to "Delete account", maintenance_user_deletion_path, :id => "delete-account" %>
<% end %>
</h2>
<fieldset id="basic-settings-section">
<div class="input">
@@ -77,12 +84,6 @@
<%= f.input :custom_style, :label => "Custom <a href='http://en.wikipedia.org/wiki/Cascading_Style_Sheets'>CSS</a> style".html_safe, :hint => "Style to apply to the whole site.", :input_html => {:size => "40x5"} %>
</fieldset>
<fieldset id="change-password-section">
<%= f.input :password, :hint => "Leave blank if you don't want to change your password", :label => "New password", :input_html => {:autocomplete => "off"} %>
<%= f.input :old_password, :as => :password, :input_html => {:autocomplete => "off"} %>
</fieldset>
<%= f.button :submit, "Submit" %>
<% end %>
</div>
@@ -95,11 +96,11 @@
<% content_for(:html_header) do %>
<script type="text/javascript">
$(function() {
$("#change-password-section,#advanced-settings-section").hide();
$("#edit-options a:not(#delete-account)").on("click", function(e) {
$("#advanced-settings-section").hide();
$("#edit-options a:not(#delete-account):not(#change-password)").on("click", function(e) {
var $target = $(e.target);
$("h2 a").removeClass("active");
$("#basic-settings-section,#change-password-section,#advanced-settings-section").hide();
$("#basic-settings-section,#advanced-settings-section").hide();
$target.addClass("active")
$($target.attr("href") + "-section").show();
e.preventDefault();

View File

@@ -248,6 +248,8 @@ Rails.application.routes.draw do
end
end
resources :users do
resource :password, :only => [:edit], :controller => "maintenance/user/passwords"
collection do
get :search
get :custom_style

View File

@@ -0,0 +1,15 @@
#!/usr/bin/env ruby
require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'config', 'environment'))
ActiveRecord::Base.connection.execute("set statement_timeout = 0")
CurrentUser.user = User.admins.first
CurrentUser.ip_addr = "127.0.0.1"
DmailFilter.find_each do |filter|
if filter.words == filter.user.name
filter.words = ""
filter.save
end
end