citygate 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,31 +11,3 @@
11
11
  *= require_self
12
12
  *= require_tree .
13
13
  */
14
-
15
- @import 'bootstrap';
16
-
17
- body {
18
- background-color: #cccccc;
19
- }
20
-
21
- header nav ul {
22
- list-style: none;
23
- margin: 0 0 2em;
24
- padding: 0;
25
- }
26
- header nav ul li {
27
- display: inline;
28
- }
29
- #flash_notice, #flash_alert {
30
- padding: 5px 8px;
31
- margin: 10px 0;
32
- }
33
- #flash_notice {
34
- background-color: #CFC;
35
- border: solid 1px #6C6;
36
- }
37
- #flash_alert {
38
- background-color: #FCC;
39
- border: solid 1px #C66;
40
- }
41
-
@@ -0,0 +1,22 @@
1
+ body
2
+ background-color: #FFF
3
+
4
+
5
+ h1
6
+ color: #000
7
+ font-size: 15em
8
+
9
+
10
+ #flash_notice, #flash_alert
11
+ padding: 5px 8px
12
+ margin: 10px 0
13
+
14
+
15
+ #flash_notice
16
+ background-color: #CFC
17
+ border: solid 1px #6C6
18
+
19
+
20
+ #flash_alert
21
+ background-color: #FCC
22
+ border: solid 1px #C66
@@ -1,4 +1,3 @@
1
1
  class Admin::ApplicationController < ActionController::Base
2
2
  protect_from_forgery
3
- before_filter :authenticate_user!
4
3
  end
@@ -1,6 +1,8 @@
1
1
  class Admin::UsersController < Admin::ApplicationController
2
+ before_filter :authenticate_user!
3
+
2
4
  def index
3
- @user = User.find(current_user)
5
+ @users = User.paginate(per_page: 15, page: params[:page])
4
6
  end
5
7
 
6
8
  def show
@@ -0,0 +1,4 @@
1
+ class ApplicationController < ActionController::Base
2
+ protect_from_forgery
3
+
4
+ end
@@ -1,4 +1,4 @@
1
- class HomeController < Citygate::CitygateController
1
+ class HomeController < ApplicationController
2
2
  def index
3
3
  @users = User.all
4
4
  end
@@ -19,7 +19,10 @@ class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
19
19
  if @user.persisted?
20
20
  flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => kind
21
21
  session["devise.#{kind.downcase}_data"] = request.env["omniauth.auth"]
22
- sign_in_and_redirect @user, :event => :authentication
22
+ sign_in_and_redirect @user, :event => :authentication
23
+ else
24
+ session["devise.#{kind.downcase}_data"] = request.env["omniauth.auth"]
25
+ redirect_to new_user_registration_url
23
26
  end
24
27
  end
25
28
 
@@ -1,8 +1,7 @@
1
- class UsersController < Citygate::CitygateController
1
+ class UsersController < ApplicationController
2
2
  before_filter :authenticate_user!
3
3
 
4
4
  def show
5
5
  @user = User.find(params[:id])
6
-
7
6
  end
8
7
  end
@@ -2,4 +2,5 @@ class Authorization < ActiveRecord::Base
2
2
 
3
3
  belongs_to :user
4
4
 
5
+ attr_accessible :provider, :uid, :user_id, :token, :secret, :name, :link, :image_url
5
6
  end
@@ -0,0 +1,10 @@
1
+ <div id="users">
2
+ <% @users.each do |user| %>
3
+ <div class="user">
4
+ <span class="email"><%= user.email %></span>
5
+ <%= content_tag(:span, user.name) if user.name %>
6
+ </div>
7
+ <% end %>
8
+
9
+ <%= will_paginate @users %>
10
+ </div>
@@ -0,0 +1,2 @@
1
+ <p>User: <%= @user.name %></p>
2
+ <p>Email: <%= @user.email if @user.email %></p>
@@ -1,5 +1,8 @@
1
- <h3>Home</h3>
2
- <% @users.each do |user| %>
3
- <p>User: <%= link_to user.name, admin_user_path(user) %></p>
4
- <% end %>
5
- <p>fim.</p>
1
+ <header>
2
+ <h1>NORMAL PANEL</h1>
3
+ <nav>
4
+ <ul class="hmenu">
5
+ <%= render 'shared/navigation' %>
6
+ </ul>
7
+ </nav>
8
+ </header>
@@ -1,32 +0,0 @@
1
- !!!
2
- %html
3
- %head
4
- %title Citygate
5
- %meta{:charset => "utf-8"}
6
- %meta{"http-equiv" => "X-UA-Compatible", :content => "IE=edge,chrome=1"}
7
- %meta{:name => "viewport", :content => "width=device-width, initial-scale=1, maximum-scale=1"}
8
- = stylesheet_link_tag "citygate/application", :media => "all"
9
- = javascript_include_tag "citygate/application"
10
- = csrf_meta_tags
11
- %body{:class => params[:controller]}
12
- #container.container
13
- %header
14
- .navbar.navbar-fixed-top
15
- .navbar-inner
16
- .container
17
- %ul.nav
18
- %li.active
19
- <a href="/">Home</a>
20
- %li
21
- <a href="#">Link</a>
22
- %li
23
- <a href="#">Link</a>
24
- %h1 Admin PANEL
25
- %nav
26
- %ul.hmenu
27
- = render 'shared/navigation'
28
- - flash.each do |name, msg|
29
- = content_tag :div, msg, :id => "flash_#{name}" if msg.is_a?(String)
30
- #main{:role => "main"}
31
- = yield
32
- %footer
@@ -0,0 +1,32 @@
1
+ !!!
2
+ %html
3
+ %head
4
+ %title Citygate
5
+ %meta{:charset => "utf-8"}
6
+ %meta{"http-equiv" => "X-UA-Compatible", :content => "IE=edge,chrome=1"}
7
+ %meta{:name => "viewport", :content => "width=device-width, initial-scale=1, maximum-scale=1"}
8
+ = stylesheet_link_tag "citygate/application", :media => "all"
9
+ = javascript_include_tag "citygate/application"
10
+ = csrf_meta_tags
11
+ %body{:class => params[:controller]}
12
+ #container.container
13
+ %header
14
+ .navbar.navbar-fixed-top
15
+ .navbar-inner
16
+ .container
17
+ %ul.nav
18
+ %li.active
19
+ <a href="/">Home</a>
20
+ %li
21
+ <a href="#">Link</a>
22
+ %li
23
+ <a href="#">Link</a>
24
+ %h1 Admin PANEL
25
+ %nav
26
+ %ul.hmenu
27
+ = render 'shared/navigation'
28
+ - flash.each do |name, msg|
29
+ = content_tag :div, msg, :id => "flash_#{name}" if msg.is_a?(String)
30
+ #main{:role => "main"}
31
+ = yield
32
+ %footer
@@ -1,27 +1 @@
1
-
2
- <% content_for :content do %>
3
-
4
-
5
- <div id="container" class="container">
6
- <header>
7
- <h1>NORMAL PANEL</h1>
8
- <nav>
9
- <ul class="hmenu">
10
- <%= render 'shared/navigation' %>
11
- </ul>
12
- </nav>
13
- <% flash.each do |name, msg| %>
14
- <%= content_tag :div, msg, :id => "flash_#{name}" if msg.is_a?(String) %>
15
- <% end %>
16
- </header>
17
- <div id="main" role="main">
18
- <%= yield %>
19
- </div>
20
- <footer></footer>
21
- </div>
22
-
23
- <% end -%>
24
-
25
- <%= render :file => 'layouts/application' %>
26
-
27
-
1
+ <%= render :file => "layouts/citygate_layout", :layout => "layouts/application" %>
@@ -0,0 +1,11 @@
1
+ <% content_for :head do %>
2
+ <%= stylesheet_link_tag 'citygate/application' %>
3
+ <% end %>
4
+
5
+ <%= render 'shared/navigation' %>
6
+
7
+ <% flash.each do |name, msg| %>
8
+ <%= content_tag :div, msg, :id => "flash_#{name}" if msg.is_a?(String) %>
9
+ <% end %>
10
+
11
+ <%= yield %>
@@ -1,13 +1,15 @@
1
- <% if user_signed_in? %>
2
- <li><%= link_to('Logout', destroy_user_session_path, :method=>'delete') %></li>
3
- <li><%= link_to('Edit account', edit_user_registration_path) %></li>
4
- <% else %>
5
- <li><%= link_to('Login', new_user_session_path) %></li>
6
- <li><%= link_to('Sign up', new_user_registration_path) %></li>
7
- <% User.omniauth_providers.each do |provider| %>
8
- <%= link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(User.new,provider) %>
9
- <% end -%>
10
- <% end %>
1
+ <ul id="citygate-navigation">
2
+ <% if user_signed_in? %>
3
+ <li><%= link_to('Edit account', edit_user_registration_path) %></li>
11
4
 
5
+ <li><%= link_to('Log out', destroy_user_session_path, :method=>'delete') %></li>
6
+ <% else %>
7
+ <li><%= link_to('Log in', new_user_session_path) %></li>
12
8
 
9
+ <li><%= link_to('Sign up', new_user_registration_path) %></li>
13
10
 
11
+ <% User.omniauth_providers.each do |provider| %>
12
+ <li><%= link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(User.new, provider) %></li>
13
+ <% end -%>
14
+ <% end %>
15
+ </ul>
@@ -0,0 +1,3 @@
1
+ <p>User: <%= @user.name %></p>
2
+
3
+ <p>Email: <%= @user.email if @user.email %></p>
@@ -9,8 +9,6 @@ Devise.setup do |config|
9
9
  # Configure the class responsible to send e-mails.
10
10
  # config.mailer = "Devise::Mailer"
11
11
 
12
- # Automatically apply schema changes in tableless databases
13
- config.apply_schema = false
14
12
 
15
13
  # ==> ORM configuration
16
14
  # Load and configure the ORM. Supports :active_record (default) and
@@ -111,10 +109,6 @@ Devise.setup do |config|
111
109
  # If true, extends the user's remember period when remembered via cookie.
112
110
  # config.extend_remember_period = false
113
111
 
114
- # If true, uses the password salt as remember token. This should be turned
115
- # to false if you are not using database authenticatable.
116
- config.use_salt_as_remember_token = true
117
-
118
112
  # Options to be passed to the created cookie. For instance, you can set
119
113
  # :secure => true in order to force SSL only cookies.
120
114
  # config.rememberable_options = {}
data/config/routes.rb CHANGED
@@ -1,8 +1,10 @@
1
1
  Rails.application.routes.draw do
2
2
  root :to => "home#index"
3
+ match 'user_root' => 'home#index'
3
4
 
4
5
  devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
5
-
6
+ resources :users, :only => [:show]
7
+
6
8
  namespace "admin" do
7
9
  resources :users
8
10
  end
@@ -8,5 +8,13 @@ module AppControllerHelpers
8
8
  def stored_location_for(resource_or_scope)
9
9
  root_url
10
10
  end
11
+
12
+ def after_sign_in_path_for(resource)
13
+ # This should work, but session is lost. See https://github.com/plataformatec/devise/issues/1357
14
+ # return_to = session[:return_to]
15
+ # session[:return_to] = nil
16
+ return_to = request.env['omniauth.origin']
17
+ stored_location_for(resource) || return_to || root_path
18
+ end
11
19
  end
12
20
  end
@@ -1,21 +1,23 @@
1
- require "citygate"
2
1
  require "rails"
3
2
 
3
+ require "rubygems"
4
+ require "devise"
5
+ require "devise"
6
+ require "devise_invitable"
7
+ require "devise-encryptable"
8
+ require 'omniauth'
9
+ require 'omniauth-facebook'
10
+ require 'omniauth-openid'
11
+ require 'uuidtools'
12
+ require 'will_paginate'
13
+
14
+ require "citygate"
4
15
 
5
16
  module Citygate
6
17
  def self.root
7
18
  File.expand_path '../../..', __FILE__
8
19
  end
9
-
20
+
10
21
  class Engine < ::Rails::Engine
11
- require "#{File.join(Citygate.root,'lib/app_controller_helpers')}"
12
-
13
- #isolate_namespace Citygate
14
- initializer 'myengine.app_controller' do |app|
15
- ActiveSupport.on_load(:action_controller) do
16
- extend AppControllerHelpers::ClassMethods
17
- include AppControllerHelpers::InstanceMethods
18
- end
19
- end
20
22
  end
21
23
  end
@@ -1,3 +1,3 @@
1
1
  module Citygate
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/citygate.rb CHANGED
@@ -1,5 +1,10 @@
1
1
  require "citygate/engine"
2
2
 
3
3
  module Citygate
4
-
4
+ require "#{File.join(Citygate.root,'lib/app_controller_helpers')}"
5
+
6
+ ActiveSupport.on_load(:action_controller) do
7
+ extend AppControllerHelpers::ClassMethods
8
+ include AppControllerHelpers::InstanceMethods
9
+ end
5
10
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: citygate
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.2
5
+ version: 0.0.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Group Buddies
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-05-11 00:00:00 +01:00
13
+ date: 2012-05-18 00:00:00 +01:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -25,36 +25,36 @@ dependencies:
25
25
  type: :runtime
26
26
  version_requirements: *id001
27
27
  - !ruby/object:Gem::Dependency
28
- name: jquery-rails
28
+ name: haml
29
29
  prerelease: false
30
30
  requirement: &id002 !ruby/object:Gem::Requirement
31
31
  none: false
32
32
  requirements:
33
33
  - - ">="
34
34
  - !ruby/object:Gem::Version
35
- version: "0"
35
+ version: 3.1.4
36
36
  type: :runtime
37
37
  version_requirements: *id002
38
38
  - !ruby/object:Gem::Dependency
39
- name: haml
39
+ name: devise
40
40
  prerelease: false
41
41
  requirement: &id003 !ruby/object:Gem::Requirement
42
42
  none: false
43
43
  requirements:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 3.1.4
46
+ version: 2.0.4
47
47
  type: :runtime
48
48
  version_requirements: *id003
49
49
  - !ruby/object:Gem::Dependency
50
- name: devise
50
+ name: devise-encryptable
51
51
  prerelease: false
52
52
  requirement: &id004 !ruby/object:Gem::Requirement
53
53
  none: false
54
54
  requirements:
55
55
  - - ">="
56
56
  - !ruby/object:Gem::Version
57
- version: 2.0.4
57
+ version: 0.1.1
58
58
  type: :runtime
59
59
  version_requirements: *id004
60
60
  - !ruby/object:Gem::Dependency
@@ -69,80 +69,80 @@ dependencies:
69
69
  type: :runtime
70
70
  version_requirements: *id005
71
71
  - !ruby/object:Gem::Dependency
72
- name: bootstrap-sass
72
+ name: omniauth
73
73
  prerelease: false
74
74
  requirement: &id006 !ruby/object:Gem::Requirement
75
75
  none: false
76
76
  requirements:
77
77
  - - ~>
78
78
  - !ruby/object:Gem::Version
79
- version: 2.0.1
79
+ version: 1.0.2
80
80
  type: :runtime
81
81
  version_requirements: *id006
82
82
  - !ruby/object:Gem::Dependency
83
- name: omniauth
83
+ name: omniauth-facebook
84
84
  prerelease: false
85
85
  requirement: &id007 !ruby/object:Gem::Requirement
86
86
  none: false
87
87
  requirements:
88
88
  - - ~>
89
89
  - !ruby/object:Gem::Version
90
- version: 1.0.2
90
+ version: 1.2.0
91
91
  type: :runtime
92
92
  version_requirements: *id007
93
93
  - !ruby/object:Gem::Dependency
94
- name: omniauth-facebook
94
+ name: omniauth-openid
95
95
  prerelease: false
96
96
  requirement: &id008 !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
99
  - - ~>
100
100
  - !ruby/object:Gem::Version
101
- version: 1.2.0
101
+ version: 1.0.1
102
102
  type: :runtime
103
103
  version_requirements: *id008
104
104
  - !ruby/object:Gem::Dependency
105
- name: omniauth-openid
105
+ name: uuidtools
106
106
  prerelease: false
107
107
  requirement: &id009 !ruby/object:Gem::Requirement
108
108
  none: false
109
109
  requirements:
110
- - - ~>
110
+ - - ">="
111
111
  - !ruby/object:Gem::Version
112
- version: 1.0.1
112
+ version: 2.1.2
113
113
  type: :runtime
114
114
  version_requirements: *id009
115
115
  - !ruby/object:Gem::Dependency
116
- name: thin
116
+ name: will_paginate
117
117
  prerelease: false
118
118
  requirement: &id010 !ruby/object:Gem::Requirement
119
119
  none: false
120
120
  requirements:
121
121
  - - ">="
122
122
  - !ruby/object:Gem::Version
123
- version: 1.3.1
124
- type: :development
123
+ version: 3.0.3
124
+ type: :runtime
125
125
  version_requirements: *id010
126
126
  - !ruby/object:Gem::Dependency
127
- name: haml-rails
127
+ name: thin
128
128
  prerelease: false
129
129
  requirement: &id011 !ruby/object:Gem::Requirement
130
130
  none: false
131
131
  requirements:
132
132
  - - ">="
133
133
  - !ruby/object:Gem::Version
134
- version: 0.3.4
134
+ version: 1.3.1
135
135
  type: :development
136
136
  version_requirements: *id011
137
137
  - !ruby/object:Gem::Dependency
138
- name: rspec-rails
138
+ name: haml-rails
139
139
  prerelease: false
140
140
  requirement: &id012 !ruby/object:Gem::Requirement
141
141
  none: false
142
142
  requirements:
143
143
  - - ">="
144
144
  - !ruby/object:Gem::Version
145
- version: 2.8.1
145
+ version: 0.3.4
146
146
  type: :development
147
147
  version_requirements: *id012
148
148
  - !ruby/object:Gem::Dependency
@@ -233,6 +233,83 @@ dependencies:
233
233
  version: 0.6.1
234
234
  type: :development
235
235
  version_requirements: *id020
236
+ - !ruby/object:Gem::Dependency
237
+ name: rspec-rails
238
+ prerelease: false
239
+ requirement: &id021 !ruby/object:Gem::Requirement
240
+ none: false
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: 2.8.1
245
+ type: :development
246
+ version_requirements: *id021
247
+ - !ruby/object:Gem::Dependency
248
+ name: email_spec
249
+ prerelease: false
250
+ requirement: &id022 !ruby/object:Gem::Requirement
251
+ none: false
252
+ requirements:
253
+ - - ">="
254
+ - !ruby/object:Gem::Version
255
+ version: 1.2.1
256
+ type: :development
257
+ version_requirements: *id022
258
+ - !ruby/object:Gem::Dependency
259
+ name: factory_girl
260
+ prerelease: false
261
+ requirement: &id023 !ruby/object:Gem::Requirement
262
+ none: false
263
+ requirements:
264
+ - - "="
265
+ - !ruby/object:Gem::Version
266
+ version: 2.6.4
267
+ type: :development
268
+ version_requirements: *id023
269
+ - !ruby/object:Gem::Dependency
270
+ name: cucumber-rails
271
+ prerelease: false
272
+ requirement: &id024 !ruby/object:Gem::Requirement
273
+ none: false
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ version: 1.3.0
278
+ type: :development
279
+ version_requirements: *id024
280
+ - !ruby/object:Gem::Dependency
281
+ name: capybara
282
+ prerelease: false
283
+ requirement: &id025 !ruby/object:Gem::Requirement
284
+ none: false
285
+ requirements:
286
+ - - ">="
287
+ - !ruby/object:Gem::Version
288
+ version: 1.1.2
289
+ type: :development
290
+ version_requirements: *id025
291
+ - !ruby/object:Gem::Dependency
292
+ name: database_cleaner
293
+ prerelease: false
294
+ requirement: &id026 !ruby/object:Gem::Requirement
295
+ none: false
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ version: 0.7.1
300
+ type: :development
301
+ version_requirements: *id026
302
+ - !ruby/object:Gem::Dependency
303
+ name: launchy
304
+ prerelease: false
305
+ requirement: &id027 !ruby/object:Gem::Requirement
306
+ none: false
307
+ requirements:
308
+ - - ">="
309
+ - !ruby/object:Gem::Version
310
+ version: 2.0.5
311
+ type: :development
312
+ version_requirements: *id027
236
313
  description: Citygate is an Engine that provides user model with sign up and log in, admin backend for managing users.
237
314
  email:
238
315
  - zamith@groupbuddies.com
@@ -245,24 +322,27 @@ extra_rdoc_files: []
245
322
  files:
246
323
  - app/assets/javascripts/citygate/application.js
247
324
  - app/assets/stylesheets/citygate/application.css.scss
325
+ - app/assets/stylesheets/citygate/main.sass
248
326
  - app/controllers/admin/application_controller.rb
249
327
  - app/controllers/admin/users_controller.rb
250
- - app/controllers/citygate/citygate_controller.rb
328
+ - app/controllers/application_controller.rb
251
329
  - app/controllers/home_controller.rb
252
330
  - app/controllers/users/omniauth_callbacks_controller.rb
253
331
  - app/controllers/users_controller.rb
254
332
  - app/helpers/citygate/application_helper.rb
255
333
  - app/models/authorization.rb
256
334
  - app/models/user.rb
257
- - app/views/admin/users/index.html.haml
335
+ - app/views/admin/users/index.html.erb
336
+ - app/views/admin/users/show.html.erb
258
337
  - app/views/devise/_links.erb
259
338
  - app/views/devise/registrations/edit.html.haml
260
- - app/views/devise/registrations/new.html.haml
261
339
  - app/views/home/index.html.erb
262
340
  - app/views/layouts/admin/application.html.haml
341
+ - app/views/layouts/admin/citygate_admin_layout.html.erb
263
342
  - app/views/layouts/citygate.html.erb
343
+ - app/views/layouts/citygate_layout.html.erb
264
344
  - app/views/shared/_navigation.html.erb
265
- - app/views/users/show.html.haml
345
+ - app/views/users/show.html.erb
266
346
  - config/cucumber.yml
267
347
  - config/initializers/devise-lol.rb
268
348
  - config/initializers/devise.rb
@@ -1,10 +0,0 @@
1
- module Citygate
2
- class CitygateController < ApplicationController
3
-
4
- unloadable
5
-
6
- layout 'citygate'
7
-
8
- # Any methods to be inserted in the app's Application controller should be inserted into lib/app_controller_helpers.rb
9
- end
10
- end
@@ -1,4 +0,0 @@
1
- %p
2
- User: #{@user.name}
3
- %p
4
- Email: #{@user.email if @user.email}
@@ -1,21 +0,0 @@
1
- %h2 Sign up
2
- = form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f|
3
- = devise_error_messages!
4
- %p
5
- = f.label :name
6
- %br/
7
- = f.text_field :name
8
- %p
9
- = f.label :email
10
- %br/
11
- = f.email_field :email
12
- %p
13
- = f.label :password
14
- %br/
15
- = f.password_field :password
16
- %p
17
- = f.label :password_confirmation
18
- %br/
19
- = f.password_field :password_confirmation
20
- %p= f.submit "Sign up"
21
- = render "links"
@@ -1,4 +0,0 @@
1
- %p
2
- User: #{@user.name}
3
- %p
4
- Email: #{@user.email if @user.email}