diff --git a/app/assets/javascripts/passwords.js b/app/assets/javascripts/passwords.js index 44566cf..731da40 100644 --- a/app/assets/javascripts/passwords.js +++ b/app/assets/javascripts/passwords.js @@ -18,6 +18,10 @@ function revealPassword($src){ // Use this instead of typical $().ready // because turbolinks. document.addEventListener("turbolinks:load", function() { + $("[data-id=genpass]").on("ajax:success", "a", function(e, data){ + $(e.target).parent().find("input").val(data.hash); + }); + $("[data-id=passwd]").on("ajax:success", "a", function(e, data){ getPassword($(e.target).parent(), data.hash); }); diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 8bc8984..9f2bb85 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -10,7 +10,7 @@ class AccountsController < ApplicationController end def new - @account = Account.new + @account = Account.new(password: SecureRandom.urlsafe_base64(12)) end def edit @@ -20,6 +20,10 @@ class AccountsController < ApplicationController render json: { hash: @account.password }.to_json end + def genpass + render json: { hash: SecureRandom.urlsafe_base64(12) }.to_json + end + def create @account = Account.new(account_params) diff --git a/app/views/accounts/_form.html.erb b/app/views/accounts/_form.html.erb index 8e27f63..f4d5ba2 100644 --- a/app/views/accounts/_form.html.erb +++ b/app/views/accounts/_form.html.erb @@ -16,9 +16,10 @@ <%= f.text_field :username %> -