citygate 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/javascripts/FormToWizard/formToWizard.js +73 -0
- data/app/assets/javascripts/citygate/home.js.coffee.erb +10 -2
- data/app/assets/stylesheets/{citygate/application.css → citygate.css} +1 -1
- data/app/assets/stylesheets/citygate/main.sass +66 -0
- data/app/controllers/citygate/home_controller.rb +3 -3
- data/app/controllers/citygate/users/omniauth_callbacks_controller.rb +30 -10
- data/app/models/citygate/user.rb +3 -3
- data/app/views/citygate/users/show.html.erb +1 -1
- data/app/views/devise/registrations/new.html.erb +294 -7
- data/config/accounts.yml +4 -1
- data/config/initializers/devise.rb +20 -12
- data/db/migrate/20121203192704_add_username_to_users.rb +5 -0
- data/lib/citygate/version.rb +1 -1
- data/lib/gravatar.rb +3 -2
- data/spec/dummy/app/assets/stylesheets/application.css +1 -0
- data/spec/dummy/config/accounts.yml +4 -1
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/log/development.log +4348 -0
- data/spec/dummy/log/test.log +12025 -0
- data/spec/dummy/spec/controllers/omniauth_spec.rb +25 -13
- data/spec/dummy/spec/spec_helper.rb +16 -2
- data/spec/dummy/tmp/cache/assets/C72/B10/sprockets%2F21a4b8118f1f4254bf815e306027b951 +0 -0
- data/spec/dummy/tmp/cache/assets/C79/FC0/sprockets%2F76c2f8ffd1175afd6274640057134300 +0 -0
- data/spec/dummy/tmp/cache/assets/C7A/CE0/sprockets%2F9124c83a02e7332a90b2883b69f81d04 +0 -0
- data/spec/dummy/tmp/cache/assets/CD6/2B0/sprockets%2F08e01b4122e606428c6de7234d87bee1 +0 -0
- data/spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/CDE/740/sprockets%2Fd1b2f20e9078f3e36137e8b667142d0e +0 -0
- data/spec/dummy/tmp/cache/assets/CE2/7D0/sprockets%2Fe69b8c4ca0800c940d1d9785f1a92327 +0 -0
- data/spec/dummy/tmp/cache/assets/CE3/150/sprockets%2F7d7a09e1df5c7510266a8d752683c4b3 +0 -0
- data/spec/dummy/tmp/cache/assets/D0D/DE0/sprockets%2Fa35442f02b0b2479f22d83d639d8c4fd +0 -0
- data/spec/dummy/tmp/cache/assets/D17/B10/sprockets%2F1b9347b2411ff7861eae8a1818c8e9a5 +0 -0
- data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/D38/5A0/sprockets%2F28c05de34dc72ecd0b6bd4638154915b +0 -0
- data/spec/dummy/tmp/cache/assets/D49/470/sprockets%2F565524e575e174ffddf333d46b1e9aa7 +0 -0
- data/spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/D60/C20/sprockets%2Fa5fd3eab22b64b2c0633e456d0e3f295 +0 -0
- data/spec/dummy/tmp/cache/assets/D88/100/sprockets%2Ffa444d8b711a22aac73e5711ea7ea24b +0 -0
- data/spec/dummy/tmp/cache/assets/D99/BF0/sprockets%2F2fd8d582e234f8d0a741c1b4cafb716e +0 -0
- data/spec/dummy/tmp/cache/assets/D9E/F10/sprockets%2F9ab223df888d724dcad09eb1163cc5f4 +0 -0
- data/spec/dummy/tmp/cache/assets/DBA/340/sprockets%2Fc374302a8cc07f4c0bcfedb154f4fb21 +0 -0
- data/spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/E5B/D60/sprockets%2F36ec61eefe5552fc432abfeec7cf60ab +0 -0
- metadata +86 -161
@@ -0,0 +1,73 @@
|
|
1
|
+
/* Created by jankoatwarpspeed.com */
|
2
|
+
|
3
|
+
(function($) {
|
4
|
+
$.fn.formToWizard = function(options) {
|
5
|
+
options = $.extend({
|
6
|
+
submitButton: ""
|
7
|
+
}, options);
|
8
|
+
|
9
|
+
var element = this;
|
10
|
+
|
11
|
+
var steps = $(element).find("fieldset");
|
12
|
+
var count = steps.size();
|
13
|
+
var submmitButtonName = "#" + options.submitButton;
|
14
|
+
$(submmitButtonName).hide();
|
15
|
+
|
16
|
+
// 2
|
17
|
+
$(element).before("<ul id='steps'></ul>");
|
18
|
+
|
19
|
+
steps.each(function(i) {
|
20
|
+
$(this).wrap("<div id='step" + i + "'></div>");
|
21
|
+
$(this).append("<p id='step" + i + "commands'></p>");
|
22
|
+
|
23
|
+
// 2
|
24
|
+
var name = $(this).find("legend").html();
|
25
|
+
$("#steps").append("<li id='stepDesc" + i + "'>Step " + (i + 1) + "<span>" + name + "</span></li>");
|
26
|
+
|
27
|
+
if (i == 0) {
|
28
|
+
createNextButton(i);
|
29
|
+
selectStep(i);
|
30
|
+
}
|
31
|
+
else if (i == count - 1) {
|
32
|
+
$("#step" + i).hide();
|
33
|
+
createPrevButton(i);
|
34
|
+
}
|
35
|
+
else {
|
36
|
+
$("#step" + i).hide();
|
37
|
+
createPrevButton(i);
|
38
|
+
createNextButton(i);
|
39
|
+
}
|
40
|
+
});
|
41
|
+
|
42
|
+
function createPrevButton(i) {
|
43
|
+
var stepName = "step" + i;
|
44
|
+
$("#" + stepName + "commands").append("<a href='#' id='" + stepName + "Prev' class='prev'>< Back</a>");
|
45
|
+
|
46
|
+
$("#" + stepName + "Prev").bind("click", function(e) {
|
47
|
+
$("#" + stepName).hide();
|
48
|
+
$("#step" + (i - 1)).show();
|
49
|
+
$(submmitButtonName).hide();
|
50
|
+
selectStep(i - 1);
|
51
|
+
});
|
52
|
+
}
|
53
|
+
|
54
|
+
function createNextButton(i) {
|
55
|
+
var stepName = "step" + i;
|
56
|
+
$("#" + stepName + "commands").append("<a href='#' id='" + stepName + "Next' class='next'>Next ></a>");
|
57
|
+
|
58
|
+
$("#" + stepName + "Next").bind("click", function(e) {
|
59
|
+
$("#" + stepName).hide();
|
60
|
+
$("#step" + (i + 1)).show();
|
61
|
+
if (i + 2 == count)
|
62
|
+
$(submmitButtonName).show();
|
63
|
+
selectStep(i + 1);
|
64
|
+
});
|
65
|
+
}
|
66
|
+
|
67
|
+
function selectStep(i) {
|
68
|
+
$("#steps li").removeClass("current");
|
69
|
+
$("#stepDesc" + i).addClass("current");
|
70
|
+
}
|
71
|
+
|
72
|
+
}
|
73
|
+
})(jQuery);
|
@@ -8,7 +8,15 @@ $ ->
|
|
8
8
|
init: ->
|
9
9
|
role_selector.select_new_role()
|
10
10
|
|
11
|
+
form_wizard =
|
12
|
+
init: ->
|
13
|
+
$("#new_user").formToWizard({ submitButton: 'save-account' })
|
14
|
+
|
15
|
+
ready = ->
|
16
|
+
role_selector.init()
|
17
|
+
form_wizard.init()
|
18
|
+
|
11
19
|
# When using turbolinks
|
12
|
-
$(
|
20
|
+
$(document).on('page:load', ready)
|
13
21
|
# otherwise
|
14
|
-
|
22
|
+
ready()
|
@@ -11,3 +11,69 @@
|
|
11
11
|
#flash_alert
|
12
12
|
background-color: #FCC
|
13
13
|
border: solid 1px #C66
|
14
|
+
|
15
|
+
fieldset
|
16
|
+
border: none
|
17
|
+
width: 320px
|
18
|
+
|
19
|
+
legend
|
20
|
+
font-size: 18px
|
21
|
+
margin: 0px
|
22
|
+
padding: 10px 0px
|
23
|
+
color: #b0232a
|
24
|
+
font-weight: bold
|
25
|
+
|
26
|
+
label
|
27
|
+
display: block
|
28
|
+
margin: 15px 0 5px
|
29
|
+
|
30
|
+
input[type=text], input[type=password], input[type=email]
|
31
|
+
width: 300px
|
32
|
+
padding: 5px
|
33
|
+
border:solid 1px #000
|
34
|
+
|
35
|
+
.prev, .next
|
36
|
+
background-color: #b0232a
|
37
|
+
padding: 5px 10px
|
38
|
+
color: #fff
|
39
|
+
text-decoration: none
|
40
|
+
|
41
|
+
&:hover
|
42
|
+
background-color: #000
|
43
|
+
text-decoration: none
|
44
|
+
|
45
|
+
.prev
|
46
|
+
float: left
|
47
|
+
|
48
|
+
.next
|
49
|
+
float: right
|
50
|
+
|
51
|
+
#steps
|
52
|
+
list-style: none
|
53
|
+
width: 100%
|
54
|
+
overflow: hidden
|
55
|
+
margin: 0px
|
56
|
+
padding: 0px
|
57
|
+
|
58
|
+
li
|
59
|
+
font-size: 24px
|
60
|
+
float: left
|
61
|
+
padding: 10px
|
62
|
+
color: #b0b1b3
|
63
|
+
|
64
|
+
&.current
|
65
|
+
color: #000
|
66
|
+
|
67
|
+
span
|
68
|
+
font-size: 11px
|
69
|
+
display: block
|
70
|
+
|
71
|
+
#makeWizard
|
72
|
+
background-color: #b0232a
|
73
|
+
color: #fff
|
74
|
+
padding: 5px 10px
|
75
|
+
text-decoration: none
|
76
|
+
font-size: 18px
|
77
|
+
|
78
|
+
&:hover
|
79
|
+
background-color: #000
|
@@ -1,14 +1,14 @@
|
|
1
1
|
class Citygate::HomeController < Citygate::ApplicationController
|
2
2
|
authorize_resource :class => false
|
3
3
|
skip_authorize_resource :only => :role_change
|
4
|
-
|
4
|
+
|
5
5
|
def index
|
6
6
|
@users = Citygate::User.all
|
7
7
|
end
|
8
|
-
|
8
|
+
|
9
9
|
def role_change
|
10
10
|
saved = current_user.update_attribute :role_id, params[:data]
|
11
|
-
|
11
|
+
|
12
12
|
respond_to do |format|
|
13
13
|
format.json { render json: { text: (saved) ? "OK" : "Arrebentou", redirect: root_path } }
|
14
14
|
end
|
@@ -6,17 +6,21 @@ class Citygate::Users::OmniauthCallbacksController < Devise::OmniauthCallbacksCo
|
|
6
6
|
def facebook
|
7
7
|
oauthorize "Facebook"
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
# Authorize user with his google (openid) account
|
11
11
|
def google
|
12
12
|
oauthorize "Google"
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
|
+
def twitter
|
16
|
+
oauthorize "Twitter"
|
17
|
+
end
|
18
|
+
|
15
19
|
# In case of error renders 404
|
16
20
|
def passthru
|
17
21
|
render :file => "#{Rails.root}/public/404.html", :status => 404, :layout => false
|
18
22
|
end
|
19
|
-
|
23
|
+
|
20
24
|
private
|
21
25
|
|
22
26
|
def oauthorize(kind)
|
@@ -30,7 +34,7 @@ class Citygate::Users::OmniauthCallbacksController < Devise::OmniauthCallbacksCo
|
|
30
34
|
@user.authorizations.map(&:destroy)
|
31
35
|
flash[:error] = @user.errors.full_messages.first
|
32
36
|
redirect_to new_user_registration_url
|
33
|
-
end
|
37
|
+
end
|
34
38
|
end
|
35
39
|
|
36
40
|
def find_for_oauth(provider, access_token, resource=nil)
|
@@ -39,13 +43,13 @@ class Citygate::Users::OmniauthCallbacksController < Devise::OmniauthCallbacksCo
|
|
39
43
|
when "Facebook"
|
40
44
|
uid = access_token['uid']
|
41
45
|
email = access_token['extra']['raw_info']['email']
|
42
|
-
auth_attr = {
|
43
|
-
:uid => uid,
|
46
|
+
auth_attr = {
|
47
|
+
:uid => uid,
|
44
48
|
:token => access_token['credentials']['token'],
|
45
49
|
:secret => nil,
|
46
50
|
:name => access_token['extra']['raw_info']['name'],
|
47
51
|
:link => access_token['extra']['raw_info']['link'],
|
48
|
-
:image_url => access_token['info']['image']
|
52
|
+
:image_url => access_token['info']['image']
|
49
53
|
}
|
50
54
|
when "Google"
|
51
55
|
uid = access_token['uid']
|
@@ -56,6 +60,16 @@ class Citygate::Users::OmniauthCallbacksController < Devise::OmniauthCallbacksCo
|
|
56
60
|
:secret => nil,
|
57
61
|
:name => access_token['info']['name'],
|
58
62
|
}
|
63
|
+
when "Twitter"
|
64
|
+
uid = access_token['extra']['raw_info']['id']
|
65
|
+
name = access_token['extra']['raw_info']['name']
|
66
|
+
auth_attr = {
|
67
|
+
:uid => uid,
|
68
|
+
:token => access_token['credentials']['token'],
|
69
|
+
:secret => nil,
|
70
|
+
:name => access_token['extra']['raw_info']['name'],
|
71
|
+
:image_url => access_token['extra']['raw_info']['profile_image_url']
|
72
|
+
}
|
59
73
|
else
|
60
74
|
raise "Provider #{provider} not handled"
|
61
75
|
end
|
@@ -74,7 +88,13 @@ class Citygate::Users::OmniauthCallbacksController < Devise::OmniauthCallbacksCo
|
|
74
88
|
auth = user.authorizations.find_by_provider(provider)
|
75
89
|
auth ||= user.authorizations.build(:provider => provider)
|
76
90
|
auth.update_attributes auth_attr
|
77
|
-
|
91
|
+
|
92
|
+
#TODO: Add config for this
|
93
|
+
user.update_attributes(
|
94
|
+
role_id: 1,
|
95
|
+
confirmed_at: Time.now
|
96
|
+
)
|
97
|
+
|
78
98
|
return user
|
79
99
|
end
|
80
100
|
|
@@ -100,8 +120,8 @@ class Citygate::Users::OmniauthCallbacksController < Devise::OmniauthCallbacksCo
|
|
100
120
|
if user = Citygate::User.find_by_first_name(name)
|
101
121
|
user
|
102
122
|
else
|
103
|
-
user = Citygate::User.new(:first_name => name, :password => Devise.friendly_token[0,20], :email => "#{UUIDTools::UUID.random_create}@host")
|
104
|
-
user.save
|
123
|
+
user = Citygate::User.new(:first_name => name, :password => Devise.friendly_token[0,20], :email => "#{UUIDTools::UUID.random_create}@host.com")
|
124
|
+
user.save
|
105
125
|
end
|
106
126
|
return user
|
107
127
|
end
|
data/app/models/citygate/user.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Citygate
|
2
|
-
|
2
|
+
|
3
3
|
# @author Zamith
|
4
4
|
# @!attribute name
|
5
5
|
# @return [String] the name of the user
|
@@ -15,11 +15,11 @@ module Citygate
|
|
15
15
|
devise :encryptor => :sha1
|
16
16
|
# @!endgroup
|
17
17
|
|
18
|
-
attr_accessible :first_name, :last_name, :email, :password, :password_confirmation, :remember_me, :confirmed_at, :role_id
|
18
|
+
attr_accessible :first_name, :last_name, :email, :password, :password_confirmation, :remember_me, :confirmed_at, :role_id, :username
|
19
19
|
|
20
20
|
has_many :authorizations, :dependent => :destroy
|
21
21
|
belongs_to :role
|
22
|
-
|
22
|
+
|
23
23
|
before_create :check_no_of_users
|
24
24
|
|
25
25
|
def method_missing(method_name, *args, &block)
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<% class_str += (connected_providers.include? provider.to_s.capitalize) ? "connected" : "can-connect" %>
|
11
11
|
|
12
12
|
<div class="<%= class_str %>">
|
13
|
-
<%= link_to "#{provider.to_s.capitalize}",
|
13
|
+
<%= link_to "#{provider.to_s.capitalize}", "/users/auth/#{provider.to_s}?user=#{current_user.id}" %>
|
14
14
|
</div>
|
15
15
|
<% end %>
|
16
16
|
</div>
|
@@ -3,16 +3,303 @@
|
|
3
3
|
<%= form_for resource, :as => resource_name, :url => registration_path(resource_name) do |f| %>
|
4
4
|
<%= devise_error_messages! %>
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
<fieldset>
|
7
|
+
<legend>Account Information</legend>
|
8
|
+
<%= f.label :email %>
|
9
|
+
<%= f.email_field :email, :required => true %>
|
8
10
|
|
9
|
-
|
10
|
-
|
11
|
+
<%= f.label :password %>
|
12
|
+
<%= f.password_field :password, :required => true %>
|
11
13
|
|
12
|
-
|
13
|
-
|
14
|
+
<%= f.label :password_confirmation %>
|
15
|
+
<%= f.password_field :password_confirmation, :required => true %>
|
16
|
+
</fieldset>
|
14
17
|
|
15
|
-
|
18
|
+
<fieldset>
|
19
|
+
<legend>Billing information</legend>
|
20
|
+
<label for="NameOnCard">Name on Card</label>
|
21
|
+
<input id="NameOnCard" type="text" />
|
22
|
+
<label for="CardNumber">Card Number</label>
|
23
|
+
<input id="CardNumber" type="text" />
|
24
|
+
<label for="CreditcardMonth">Expiration</label>
|
25
|
+
<select id="CreditcardMonth">
|
26
|
+
<option value="1">1</option>
|
27
|
+
<option value="2">2</option>
|
28
|
+
<option value="3">3</option>
|
29
|
+
<option value="4">4</option>
|
30
|
+
<option value="5">5</option>
|
31
|
+
<option value="6">6</option>
|
32
|
+
<option value="7">7</option>
|
33
|
+
<option value="8">8</option>
|
34
|
+
<option value="9">9</option>
|
35
|
+
<option value="10">10</option>
|
36
|
+
<option value="11">11</option>
|
37
|
+
<option value="12">12</option>
|
38
|
+
</select>
|
39
|
+
<select id="CreditcardYear">
|
40
|
+
<option value="2009">2009</option>
|
41
|
+
<option value="2010">2010</option>
|
42
|
+
<option value="2011">2011</option>
|
43
|
+
<option value="2012">2012</option>
|
44
|
+
<option value="2013">2013</option>
|
45
|
+
<option value="2014">2014</option>
|
46
|
+
<option value="2015">2015</option>
|
47
|
+
<option value="2016">2016</option>
|
48
|
+
<option value="2017">2017</option>
|
49
|
+
<option value="2018">2018</option>
|
50
|
+
<option value="2019">2019</option>
|
51
|
+
</select>
|
52
|
+
<label for="Address1">Address 1</label>
|
53
|
+
<input id="Address1" type="text" />
|
54
|
+
<label for="Address2">Address 2</label>
|
55
|
+
<input id="Address2" type="text" />
|
56
|
+
<label for="City">City</label>
|
57
|
+
<input id="City" type="text" />
|
58
|
+
<label for="City">City</label>
|
59
|
+
<select id="Country">
|
60
|
+
<option value="CA">Canada</option>
|
61
|
+
<option value="US">United States of America</option>
|
62
|
+
<option value="GB">United Kingdom (Great Britain)</option>
|
63
|
+
<option value="AU">Australia</option>
|
64
|
+
<option value="JP">Japan</option>
|
65
|
+
<option value="AF">Afghanistan</option>
|
66
|
+
<option value="AX">Aland Island</option>
|
67
|
+
<option value="AL">Albania</option>
|
68
|
+
<option value="DZ">Algeria</option>
|
69
|
+
<option value="AS">American Samoa</option>
|
70
|
+
<option value="AD">Andorra</option>
|
71
|
+
<option value="AO">Angola</option>
|
72
|
+
<option value="AI">Anguilla</option>
|
73
|
+
<option value="AQ">Antarctica</option>
|
74
|
+
<option value="AG">Antigua & Barbuda</option>
|
75
|
+
<option value="AR">Argentina</option>
|
76
|
+
<option value="AM">Armenia</option>
|
77
|
+
<option value="AW">Aruba</option>
|
78
|
+
<option value="AT">Austria</option>
|
79
|
+
<option value="AZ">Azerbaijan</option>
|
80
|
+
<option value="BS">Bahama</option>
|
81
|
+
<option value="BH">Bahrain</option>
|
82
|
+
<option value="BD">Bangladesh</option>
|
83
|
+
<option value="BB">Barbados</option>
|
84
|
+
<option value="BY">Belarus</option>
|
85
|
+
<option value="BE">Belgium</option>
|
86
|
+
<option value="BZ">Belize</option>
|
87
|
+
<option value="BJ">Benin</option>
|
88
|
+
<option value="BM">Bermuda</option>
|
89
|
+
<option value="BT">Bhutan</option>
|
90
|
+
<option value="BO">Bolivia</option>
|
91
|
+
<option value="BA">Bosnia and Herzegovina</option>
|
92
|
+
<option value="BW">Botswana</option>
|
93
|
+
<option value="BV">Bouvet Island</option>
|
94
|
+
<option value="BR">Brazil</option>
|
95
|
+
<option value="IO">British Indian Ocean Territory</option>
|
96
|
+
<option value="VG">British Virgin Islands</option>
|
97
|
+
<option value="BN">Brunei Darussalam</option>
|
98
|
+
<option value="BG">Bulgaria</option>
|
99
|
+
<option value="BF">Burkina Faso</option>
|
100
|
+
<option value="BI">Burundi</option>
|
101
|
+
<option value="KH">Cambodia</option>
|
102
|
+
<option value="CM">Cameroon</option>
|
103
|
+
<option value="CV">Cape Verde</option>
|
104
|
+
<option value="KY">Cayman Islands</option>
|
105
|
+
<option value="CF">Central African Republic</option>
|
106
|
+
<option value="TD">Chad</option>
|
107
|
+
<option value="CL">Chile</option>
|
108
|
+
<option value="CN">China</option>
|
109
|
+
<option value="CX">Christmas Island</option>
|
110
|
+
<option value="CC">Cocos (Keeling) Islands</option>
|
111
|
+
<option value="CO">Colombia</option>
|
112
|
+
<option value="KM">Comoros</option>
|
113
|
+
<option value="CG">Congo</option>
|
114
|
+
<option value="CK">Cook Iislands</option>
|
115
|
+
<option value="CR">Costa Rica</option>
|
116
|
+
<option value="HR">Croatia</option>
|
117
|
+
<option value="CU">Cuba</option>
|
118
|
+
<option value="CY">Cyprus</option>
|
119
|
+
<option value="CZ">Czech Republic</option>
|
120
|
+
<option value="CI">Côte D'ivoire (Ivory Coast)</option>
|
121
|
+
<option value="DK">Denmark</option>
|
122
|
+
<option value="DJ">Djibouti</option>
|
123
|
+
<option value="DM">Dominica</option>
|
124
|
+
<option value="DO">Dominican Republic</option>
|
125
|
+
<option value="TP">East Timor</option>
|
126
|
+
<option value="EC">Ecuador</option>
|
127
|
+
<option value="EG">Egypt</option>
|
128
|
+
<option value="SV">El Salvador</option>
|
129
|
+
<option value="GQ">Equatorial Guinea</option>
|
130
|
+
<option value="ER">Eritrea</option>
|
131
|
+
<option value="EE">Estonia</option>
|
132
|
+
<option value="ET">Ethiopia</option>
|
133
|
+
<option value="FK">Falkland Islands (Malvinas)</option>
|
134
|
+
<option value="FO">Faroe Islands</option>
|
135
|
+
<option value="FJ">Fiji</option>
|
136
|
+
<option value="FI">Finland</option>
|
137
|
+
<option value="FR">France</option>
|
138
|
+
<option value="FX">France, Metropolitan</option>
|
139
|
+
<option value="GF">French Guiana</option>
|
140
|
+
<option value="PF">French Polynesia</option>
|
141
|
+
<option value="TF">French Southern Territories</option>
|
142
|
+
<option value="GA">Gabon</option>
|
143
|
+
<option value="GM">Gambia</option>
|
144
|
+
<option value="GE">Georgia</option>
|
145
|
+
<option value="DE">Germany</option>
|
146
|
+
<option value="GH">Ghana</option>
|
147
|
+
<option value="GI">Gibraltar</option>
|
148
|
+
<option value="GR">Greece</option>
|
149
|
+
<option value="GL">Greenland</option>
|
150
|
+
<option value="GD">Grenada</option>
|
151
|
+
<option value="GP">Guadeloupe</option>
|
152
|
+
<option value="GU">Guam</option>
|
153
|
+
<option value="GT">Guatemala</option>
|
154
|
+
<option value="GN">Guinea</option>
|
155
|
+
<option value="GW">Guinea-Bissau</option>
|
156
|
+
<option value="GY">Guyana</option>
|
157
|
+
<option value="HT">Haiti</option>
|
158
|
+
<option value="HM">Heard & McDonald Islands</option>
|
159
|
+
<option value="HN">Honduras</option>
|
160
|
+
<option value="HK">Hong Kong</option>
|
161
|
+
<option value="HU">Hungary</option>
|
162
|
+
<option value="IS">Iceland</option>
|
163
|
+
<option value="IN">India</option>
|
164
|
+
<option value="ID">Indonesia</option>
|
165
|
+
<option value="IQ">Iraq</option>
|
166
|
+
<option value="IE">Ireland</option>
|
167
|
+
<option value="IR">Islamic Republic of Iran</option>
|
168
|
+
<option value="IL">Israel</option>
|
169
|
+
<option value="IT">Italy</option>
|
170
|
+
<option value="JM">Jamaica</option>
|
171
|
+
<option value="JO">Jordan</option>
|
172
|
+
<option value="KZ">Kazakhstan</option>
|
173
|
+
<option value="KE">Kenya</option>
|
174
|
+
<option value="KI">Kiribati</option>
|
175
|
+
<option value="KP">Korea, Democratic People's Republic of</option>
|
176
|
+
<option value="KR">Korea, Republic of</option>
|
177
|
+
<option value="KW">Kuwait</option>
|
178
|
+
<option value="KG">Kyrgyzstan</option>
|
179
|
+
<option value="LA">Lao People's Democratic Republic</option>
|
180
|
+
<option value="LV">Latvia</option>
|
181
|
+
<option value="LB">Lebanon</option>
|
182
|
+
<option value="LS">Lesotho</option>
|
183
|
+
<option value="LR">Liberia</option>
|
184
|
+
<option value="LY">Libyan Arab Jamahiriya</option>
|
185
|
+
<option value="LI">Liechtenstein</option>
|
186
|
+
<option value="LT">Lithuania</option>
|
187
|
+
<option value="LU">Luxembourg</option>
|
188
|
+
<option value="MO">Macau</option>
|
189
|
+
<option value="MG">Madagascar</option>
|
190
|
+
<option value="MW">Malawi</option>
|
191
|
+
<option value="MY">Malaysia</option>
|
192
|
+
<option value="MV">Maldives</option>
|
193
|
+
<option value="ML">Mali</option>
|
194
|
+
<option value="MT">Malta</option>
|
195
|
+
<option value="MH">Marshall Islands</option>
|
196
|
+
<option value="MQ">Martinique</option>
|
197
|
+
<option value="MR">Mauritania</option>
|
198
|
+
<option value="MU">Mauritius</option>
|
199
|
+
<option value="YT">Mayotte</option>
|
200
|
+
<option value="MX">Mexico</option>
|
201
|
+
<option value="FM">Micronesia</option>
|
202
|
+
<option value="MD">Moldova, Republic of</option>
|
203
|
+
<option value="MC">Monaco</option>
|
204
|
+
<option value="MN">Mongolia</option>
|
205
|
+
<option value="MS">Monserrat</option>
|
206
|
+
<option value="MA">Morocco</option>
|
207
|
+
<option value="MZ">Mozambique</option>
|
208
|
+
<option value="MM">Myanmar</option>
|
209
|
+
<option value="NA">Namibia</option>
|
210
|
+
<option value="NR">Nauru</option>
|
211
|
+
<option value="NP">Nepal</option>
|
212
|
+
<option value="NL">Netherlands</option>
|
213
|
+
<option value="AN">Netherlands Antilles</option>
|
214
|
+
<option value="NC">New Caledonia</option>
|
215
|
+
<option value="NZ">New Zealand</option>
|
216
|
+
<option value="NI">Nicaragua</option>
|
217
|
+
<option value="NE">Niger</option>
|
218
|
+
<option value="NG">Nigeria</option>
|
219
|
+
<option value="NU">Niue</option>
|
220
|
+
<option value="NF">Norfolk Island</option>
|
221
|
+
<option value="MP">Northern Mariana Islands</option>
|
222
|
+
<option value="NO">Norway</option>
|
223
|
+
<option value="OM">Oman</option>
|
224
|
+
<option value="PK">Pakistan</option>
|
225
|
+
<option value="PW">Palau</option>
|
226
|
+
<option value="PA">Panama</option>
|
227
|
+
<option value="PG">Papua New Guinea</option>
|
228
|
+
<option value="PY">Paraguay</option>
|
229
|
+
<option value="PE">Peru</option>
|
230
|
+
<option value="PH">Philippines</option>
|
231
|
+
<option value="PN">Pitcairn</option>
|
232
|
+
<option value="PL">Poland</option>
|
233
|
+
<option value="PT">Portugal</option>
|
234
|
+
<option value="PR">Puerto Rico</option>
|
235
|
+
<option value="QA">Qatar</option>
|
236
|
+
<option value="RO">Romania</option>
|
237
|
+
<option value="RU">Russian Federation</option>
|
238
|
+
<option value="RW">Rwanda</option>
|
239
|
+
<option value="RE">Réunion</option>
|
240
|
+
<option value="LC">Saint Lucia</option>
|
241
|
+
<option value="WS">Samoa</option>
|
242
|
+
<option value="SM">San Marino</option>
|
243
|
+
<option value="ST">Sao Tome & Principe</option>
|
244
|
+
<option value="SA">Saudi Arabia</option>
|
245
|
+
<option value="SN">Senegal</option>
|
246
|
+
<option value="RS">Serbia</option>
|
247
|
+
<option value="SC">Seychelles</option>
|
248
|
+
<option value="SL">Sierra Leone</option>
|
249
|
+
<option value="SG">Singapore</option>
|
250
|
+
<option value="SK">Slovakia</option>
|
251
|
+
<option value="SI">Slovenia</option>
|
252
|
+
<option value="SB">Solomon Islands</option>
|
253
|
+
<option value="SO">Somalia</option>
|
254
|
+
<option value="ZA">South Africa</option>
|
255
|
+
<option value="GS">South Georgia and the South Sandwich Islands</option>
|
256
|
+
<option value="ES">Spain</option>
|
257
|
+
<option value="LK">Sri Lanka</option>
|
258
|
+
<option value="SH">St. Helena</option>
|
259
|
+
<option value="KN">St. Kitts and Nevis</option>
|
260
|
+
<option value="PM">St. Pierre & Miquelon</option>
|
261
|
+
<option value="VC">St. Vincent & the Grenadines</option>
|
262
|
+
<option value="SD">Sudan</option>
|
263
|
+
<option value="SR">Suriname</option>
|
264
|
+
<option value="SJ">Svalbard & Jan Mayen Islands</option>
|
265
|
+
<option value="SZ">Swaziland</option>
|
266
|
+
<option value="SE">Sweden</option>
|
267
|
+
<option value="CH">Switzerland</option>
|
268
|
+
<option value="SY">Syrian Arab Republic</option>
|
269
|
+
<option value="TW">Taiwan, Province of China</option>
|
270
|
+
<option value="TJ">Tajikistan</option>
|
271
|
+
<option value="TZ">Tanzania, United Republic of</option>
|
272
|
+
<option value="TH">Thailand</option>
|
273
|
+
<option value="TG">Togo</option>
|
274
|
+
<option value="TK">Tokelau</option>
|
275
|
+
<option value="TO">Tonga</option>
|
276
|
+
<option value="TT">Trinidad & Tobago</option>
|
277
|
+
<option value="TN">Tunisia</option>
|
278
|
+
<option value="TR">Turkey</option>
|
279
|
+
<option value="TM">Turkmenistan</option>
|
280
|
+
<option value="TC">Turks & Caicos Islands</option>
|
281
|
+
<option value="TV">Tuvalu</option>
|
282
|
+
<option value="UG">Uganda</option>
|
283
|
+
<option value="UA">Ukraine</option>
|
284
|
+
<option value="AE">United Arab Emirates</option>
|
285
|
+
<option value="UM">United States Minor Outlying Islands</option>
|
286
|
+
<option value="VI">United States Virgin Islands</option>
|
287
|
+
<option value="UY">Uruguay</option>
|
288
|
+
<option value="UZ">Uzbekistan</option>
|
289
|
+
<option value="VU">Vanuatu</option>
|
290
|
+
<option value="VA">Vatican City State (Holy See)</option>
|
291
|
+
<option value="VE">Venezuela</option>
|
292
|
+
<option value="VN">Viet Nam</option>
|
293
|
+
<option value="WF">Wallis & Futuna Islands</option>
|
294
|
+
<option value="EH">Western Sahara</option>
|
295
|
+
<option value="YE">Yemen</option>
|
296
|
+
<option value="ZR">Zaire</option>
|
297
|
+
<option value="ZM">Zambia</option>
|
298
|
+
<option value="ZW">Zimbabwe</option>
|
299
|
+
</select>
|
300
|
+
</fieldset>
|
301
|
+
|
302
|
+
<%= f.submit t('admin.users.new.create_link'), id: "save-account" %>
|
16
303
|
<% end %>
|
17
304
|
|
18
305
|
<%= render :partial => "citygate/shared/navigation" %>
|