Merge branch 'master' into currency

Conflicts:
	app/helpers/injection_helper.rb
	db/suburb_seeds.rb
This commit is contained in:
Rafael Schouten
2014-09-16 10:25:22 +10:00
119 changed files with 18858 additions and 693 deletions

View File

@@ -1,4 +1,4 @@
Darkswarm.controller "SignupCtrl", ($scope, $http, $location, AuthenticationService) ->
Darkswarm.controller "SignupCtrl", ($scope, $http, $window, $location, Redirections, AuthenticationService) ->
$scope.path = "/signup"
$scope.errors =
email: null
@@ -6,6 +6,9 @@ Darkswarm.controller "SignupCtrl", ($scope, $http, $location, AuthenticationServ
$scope.submit = ->
$http.post("/user/spree_user", {spree_user: $scope.spree_user}).success (data)->
location.href = location.origin + location.pathname # Strips out hash fragments
if Redirections.after_login
$window.location.href = $window.location.origin + Redirections.after_login
else
$window.location.href = $window.location.origin + $window.location.pathname # Strips out hash fragments
.error (data) ->
$scope.errors = data

View File

@@ -1,7 +1,7 @@
Darkswarm.controller "AuthenticationCtrl", ($scope, AuthenticationService, SpreeUser)->
$scope.open = AuthenticationService.open
$scope.toggle = AuthenticationService.toggle
$scope.spree_user = SpreeUser.spree_user
$scope.active = AuthenticationService.active
$scope.select = AuthenticationService.select

View File

@@ -0,0 +1,11 @@
Darkswarm.controller "RegistrationCtrl", ($scope, RegistrationService, EnterpriseRegistrationService, availableCountries) ->
$scope.currentStep = RegistrationService.currentStep
$scope.enterprise = EnterpriseRegistrationService.enterprise
$scope.select = RegistrationService.select
$scope.steps = ['details','address','contact','about','images','social']
$scope.countries = availableCountries
$scope.countryHasStates = ->
$scope.enterprise.country.states.length > 0

View File

@@ -0,0 +1,15 @@
Darkswarm.controller "RegistrationFormCtrl", ($scope, RegistrationService, EnterpriseRegistrationService) ->
$scope.submitted = false
$scope.valid = (form) ->
$scope.submitted = !form.$valid
form.$valid
$scope.create = (form) ->
EnterpriseRegistrationService.create() if $scope.valid(form)
$scope.update = (nextStep, form) ->
EnterpriseRegistrationService.update(nextStep) if $scope.valid(form)
$scope.selectIfValid = (nextStep, form) ->
RegistrationService.select(nextStep) if $scope.valid(form)

View File

@@ -0,0 +1,6 @@
Darkswarm.directive "ofnInlineFlash", ->
restrict: 'E'
controller: ($scope) ->
$scope.visible = true
$scope.closeFlash = ->
$scope.visible = false

View File

@@ -4,12 +4,14 @@ Darkswarm.factory "AuthenticationService", (Navigation, $modal, $location, Redir
selectedPath: "/login"
constructor: ->
if $location.path() in ["/login", "/signup", "/forgot"]
@open()
if $location.path() in ["/login", "/signup", "/forgot"] && location.pathname isnt '/register/auth'
@open $location.path()
else if location.pathname is '/register/auth'
@open '/signup', 'registration_authentication.html'
open: (path = false)=>
open: (path = false, template = 'authentication.html') =>
@modalInstance = $modal.open
templateUrl: 'authentication.html'
templateUrl: template
windowClass: "login-modal medium"
@modalInstance.result.then @close, @close
@selectedPath = path || @selectedPath

View File

@@ -0,0 +1,57 @@
Darkswarm.factory "EnterpriseRegistrationService", ($http, RegistrationService, CurrentUser, spreeApiKey, Loading, availableCountries, enterpriseAttributes) ->
new class EnterpriseRegistrationService
enterprise:
user_ids: [CurrentUser.id]
email: CurrentUser.email
address: {}
country: availableCountries[0]
constructor: ->
for key, value of enterpriseAttributes
@enterprise[key] = value
create: =>
Loading.message = "Creating " + @enterprise.name
$http(
method: "POST"
url: "/api/enterprises"
data:
enterprise: @prepare()
params:
token: spreeApiKey
).success((data) =>
Loading.clear()
@enterprise.id = data
RegistrationService.select('about')
).error((data) =>
Loading.clear()
alert('Failed to create your enterprise.\nPlease ensure all fields are completely filled out.')
)
# RegistrationService.select('about')
update: (step) =>
Loading.message = "Updating " + @enterprise.name
$http(
method: "PUT"
url: "/api/enterprises/#{@enterprise.id}"
data:
enterprise: @prepare()
params:
token: spreeApiKey
).success((data) ->
Loading.clear()
RegistrationService.select(step)
).error((data) ->
Loading.clear()
alert('Failed to update your enterprise.\nPlease ensure all fields are completely filled out.')
)
# RegistrationService.select(step)
prepare: =>
enterprise = {}
excluded = [ 'address', 'country', 'id' ]
for key, value of @enterprise when key not in excluded
enterprise[key] = value
enterprise.address_attributes = @enterprise.address if @enterprise.address?
enterprise.address_attributes.country_id = @enterprise.country.id if @enterprise.country?
enterprise

View File

@@ -0,0 +1,23 @@
Darkswarm.factory "RegistrationService", (Navigation, $modal, Loading)->
new class RegistrationService
constructor: ->
@open()
open: =>
@modalInstance = $modal.open
templateUrl: 'registration.html'
windowClass: "login-modal large"
backdrop: 'static'
@modalInstance.result.then @close, @close
@select 'introduction'
select: (step)=>
@current_step = step
currentStep: =>
@current_step
close: ->
Loading.message = "Taking you back to the home page"
Navigation.go "/"