mirror of
https://github.com/System-End/identity-vault.git
synced 2026-04-19 22:05:07 +00:00
* INITIAL SAML SUPPORT WOO YEA BABEY it works? * wawa * mwaow * b * WOAG * mph * bunch more stuff * new OAuth screen * add trust level to oauth apps * [community oauth] new scopes, validate only some community ones * bleh * my info first pass * sessions and 2fa * oauth authorizations/revoke * nuke sms * fix drift * remove hcid on ident#edit * attack our rack? * session fixation't * first pass at stepup auth * eye eighteen en * fix brand * think that does it for dev mode! * add promote to full user button * first crack at landing page * better sessions * better id edit * better verf * less css pass 1 * add phone no * better cssed? * securité * switch from slocks * HCA * touch last seen at * session fingerprinting * improved? * localize scopes * add proper oauth welcome * eepier tutorial * how long was that like that?! * common blankslate * better addresses? * [backend] fix reprovisioning and promotion * improve addresses * ICONS, BEAUTIFUL ICONS * primary sidebar * saml welcome? * new totp flow? * marginally better login sec * better print for backup codes! * MASSIVE LINT PASS * autocompletes * woops * new staging * actual login code txnl * no more legacy slack account linking * fake slack in staging * no account yet? * add samls for staging * fix slack_staging * lint * frickin' xmlsec * no validate keys ? * AUGH * ASGJHFGSDJFG * shoot me * aieeeee * SCHEIßE * no more attempt association on code * believe in prefers-color-scheme * fix verf icon * nuke vestigial aadhaar functionality thanks deployor! * fix xmlsec on gh ci * remove identity (#27) * move idcon flashes to locale * remove dead code impersonation logic h/t ian! * fix hx-confirm on delete address? * add missing dev app locale key * fix #28 * wait, i'm an idiot (#28) * THERE WE GO * add paper_trail to more stuff * red delete btn * more red delete btns * THE AUDIT LOGS UPDATE * yuge lint pass * Fix icons (#33) Some icons didn't have a fill nor a viewbox * weh * first pass at docs * memoize docs, fix 404 * [docs] add crappy erb support * support non-e+ flow * fix no devmode locale * DOCS DOCS DOCS * tldr dev doc * anti-clickjacking countdown (h/t @J-Meow) * weh * get rid of those, they do nothing for us * dependent destroy * find user via scim if ent * save nav channel ids * fix base onboarding scenario * only unique among the living * add SAML debug * simplify legacy_email * add UAT env * we ARE * add slack to uat * no entity id? * fix saml if logged out * fix scim assignment? * bring channels into config * darn it * try backoff on assign_to_workspace?? this feels problematic * do the scim docs lie? * that was dumb * Revert "do the scim docs lie?" This reverts commit 69310dbef9476f2103d7a8280966a7fdf732129b. * Revert "try backoff on assign_to_workspace?? this feels problematic" This reverts commit 7a5edd67aa3836df1f31d628566e9ea69589c269. * this some bull shit * internal tutorial by default * 18 point something * fixes: componentize login, no more viewcontext, parse sp-initiated saml better * one return to. * just send it * fix replay bug * fix URL in welcome docs page (#38) * simplify login/signup flow, s/faq/terms + privacy * no more H... we hardly knew you * first pass at reddening * red pt. 2 * she's red for an AMAZING reason * lint pass * fix tooled tips * another docs pass * initial pass at factorybotting docs * scope diffing for api docs! * wait we don't need a legend lol * add verf status to community apps * fricken lint * make current_user not nomethod * move are_we_enterprise_yet to a flipper flag * improve slack racing * allow not creating slack * factorybot in prod for api docs! * LOL, LMAO * properly set owner on oauthorizations * lint pass * bypass age on existing users * fix that... --------- Co-authored-by: Leo <leo@wilkin.xyz> Co-authored-by: Tom (Deployor) <129990841+deployor@users.noreply.github.com> Co-authored-by: DaInfLoop <github@dainfloop.is-a.dev>
81 lines
2.2 KiB
Ruby
81 lines
2.2 KiB
Ruby
class AddressesController < ApplicationController
|
|
include IsSneaky
|
|
before_action :set_address, only: [ :show, :edit, :update, :destroy ]
|
|
before_action :hide_some_data_away, only: %i[program_create_address]
|
|
def index
|
|
@addresses = current_identity.addresses
|
|
end
|
|
|
|
def show
|
|
end
|
|
|
|
def new
|
|
build_address
|
|
end
|
|
|
|
def create
|
|
@address = current_identity.addresses.new(address_params)
|
|
if @address.save
|
|
if current_identity.primary_address.nil?
|
|
current_identity.update(primary_address: @address)
|
|
end
|
|
if params[:address][:from_program] == "true"
|
|
redirect_to safe_redirect_url("address_return_to") || addresses_path, notice: "address created successfully!", allow_other_host: true
|
|
else
|
|
redirect_to addresses_path, notice: "address created successfully!"
|
|
end
|
|
else
|
|
render params[:address][:from_program] == "true" ? :program_create_address : :new
|
|
end
|
|
end
|
|
|
|
def program_create_address
|
|
build_address
|
|
end
|
|
|
|
def edit
|
|
end
|
|
|
|
def update
|
|
if params[:make_primary] == "true"
|
|
current_identity.update(primary_address: @address)
|
|
redirect_to addresses_path, notice: "Primary address updated!"
|
|
elsif @address.update(address_params)
|
|
redirect_to addresses_path, notice: "address updated successfully!"
|
|
else
|
|
render :edit
|
|
end
|
|
end
|
|
|
|
def destroy
|
|
if current_identity.primary_address == @address
|
|
if Rails.env.development?
|
|
current_identity.update(primary_address: nil)
|
|
else
|
|
flash[:alert] = "can't delete your primary address..."
|
|
redirect_to addresses_path
|
|
return
|
|
end
|
|
end
|
|
@address.destroy
|
|
redirect_to addresses_path, notice: "address deleted successfully!"
|
|
end
|
|
|
|
private
|
|
|
|
def build_address
|
|
@address = current_identity.addresses.build(
|
|
country: current_identity.country,
|
|
first_name: current_identity.first_name,
|
|
last_name: current_identity.last_name,
|
|
)
|
|
end
|
|
|
|
def set_address
|
|
@address = current_identity.addresses.find(params[:id])
|
|
end
|
|
|
|
def address_params
|
|
params.require(:address).permit(:first_name, :last_name, :line_1, :line_2, :city, :state, :postal_code, :country)
|
|
end
|
|
end
|