app/controllers/iugu/account_controller.rb in iugusdk-1.0.0.alpha.1 vs app/controllers/iugu/account_controller.rb in iugusdk-1.0.0.alpha.2
- old
+ new
@@ -1,63 +1,59 @@
class Iugu::AccountController < Iugu::AccountSettingsController
+
+ before_filter(:only => [:destroy, :cancel_destruction, :update]) { |c| c.must_be :owner, :id }
+ before_filter(:only => [:generate_new_token]) { |c| c.must_be :owner, :account_id }
def index
render 'iugu/settings/accounts'
end
def view
if params[:id]
@account = current_user.accounts.find(params[:id])
else
- @account = current_user_account
+ @account = current_user_account.account
end
@primary_domain = @account.account_domains.where(:primary => true).first if @account
render 'iugu/settings/account'
end
def destroy
- begin
- if account = current_user.accounts.find(params[:id])
- if account.account_users.find_by_user_id(current_user.id).is?(:owner)
- account.destroy
- notice = I18n.t("iugu.account_destruction_in") + account.destruction_job.run_at.to_s
- else
- notice = I18n.t("errors.messages.only_owners_can_destroy_accounts")
- end
- end
- rescue
- notice = I18n.t("iugu.notices.account_not_found")
- end
- redirect_to(account_settings_path, :notice => notice)
+ account = current_user.accounts.find(params[:id])
+ account.destroy
+ redirect_to(account_settings_path, :notice => I18n.t("iugu.account_destruction_in") + account.destruction_job.run_at.to_s)
end
def cancel_destruction
- begin
- current_user.accounts.find(params[:id]).cancel_destruction if params[:id]
- notice = I18n.t("iugu.account_destruction_undone")
- rescue
- notice = I18n.t("iugu.notices.account_not_found")
- end
+ current_user.accounts.find(params[:id]).cancel_destruction
+ notice = I18n.t("iugu.account_destruction_undone")
redirect_to(account_settings_path, :notice => notice)
end
def select
- select_account(current_user, params[:id])
+ set_account(current_user, params[:id])
redirect_to(account_settings_path, :notice => "Account selected")
end
def update
- begin
- @account = Account.find(params[:id])
- @account.update_attributes(params[:account])
- redirect_to account_view_path(params[:id]), :notice => I18n.t("iugu.notices.account_updated")
- rescue
- raise ActionController::RoutingError.new('Not Found')
- end
+ @account = Account.find(params[:id])
+ @account.update_attributes(params[:account])
+ redirect_to account_view_path(params[:id]), :notice => I18n.t("iugu.notices.account_updated")
end
def create
current_user.accounts << Account.create
redirect_to account_settings_path
+ end
+
+ def generate_new_token
+ if IuguSDK::enable_account_api_token == true
+ @account = current_user.accounts.find(params[:account_id])
+ @account.update_api_token
+ redirect_to account_view_path(params[:account_id]), :notice => I18n.t("iugu.notices.new_token_generated")
+ else
+ raise ActionController::RoutingError.new('Not found')
+ end
+
end
end