Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge remote branch 'core/user-token-fields' into development
  • Loading branch information
cykod committed Dec 3, 2010
2 parents 7c788c4 + e42497b commit 4704385
Show file tree
Hide file tree
Showing 9 changed files with 137 additions and 400 deletions.
1 change: 1 addition & 0 deletions app/controllers/content_controller.rb
Expand Up @@ -34,6 +34,7 @@ class ContentController < ModuleController #:nodoc: all
register_handler :user_segment, :fields, 'EndUserCacheSegmentField'
register_handler :user_segment, :fields, 'EndUserTagSegmentField'
register_handler :user_segment, :fields, 'UserSubscriptionEntrySegmentField'
register_handler :user_segment, :fields, 'EndUserTokenSegmentField'

register_handler :structure, :wizard, 'Wizards::SimpleSite'
register_handler :structure, :wizard, 'Wizards::MembersSetup'
Expand Down
2 changes: 1 addition & 1 deletion app/models/end_user.rb
Expand Up @@ -224,7 +224,7 @@ def token_cache_update #:nodoc:
# [:valid_at]
# Date this token will start being valid
def add_token!(tkn,options = { })
eut = self.end_user_tokens.find_by_access_token_id(tkn) ||
eut = self.end_user_tokens.find_by_access_token_id(tkn.id) ||
self.end_user_tokens.create(:access_token_id => tkn.id)

# If we are setting any additional options,
Expand Down
48 changes: 48 additions & 0 deletions app/models/end_user_token_segment_field.rb
@@ -0,0 +1,48 @@

class EndUserTokenSegmentField < UserSegment::FieldHandler

def self.user_segment_fields_handler_info
{
:name => 'User Access Fields',
:domain_model_class => EndUserToken
}
end

class AccessTokenType < UserSegment::FieldType
register_operation :is, [['Access Token', :model, {:class => AccessToken}]]

def self.is(cls, group_field, token_id)
cls.scoped(:conditions => ["#{field[0]} = ?", token_id])
end
end

register_field :access_token, EndUserTokenSegmentField::AccessTokenType, :field => :access_token_id, :name => 'User Access: Token'
register_field :num_tokens, UserSegment::CoreType::CountType, :field => :end_user_id, :name => '# Access Tokens', :display_method => 'count', :sort_method => 'count', :sortable => true
register_field :access_valid_until, UserSegment::CoreType::DateTimeType, :field => :valid_until, :name => 'User Access: Valid Until', :sortable => true
register_field :access_valid_at, UserSegment::CoreType::DateTimeType, :field => :valid_at, :name => 'User Access: Valid At', :sortable => true

def self.sort_scope(order_by, direction)
info = UserSegment::FieldHandler.sortable_fields[order_by.to_sym]

if order_by.to_sym == :num_tokens
sort_method = info[:sort_method]
field = info[:field]
EndUserToken.scoped(:select => "end_user_id, #{sort_method}(#{field}) as #{field}_#{sort_method}", :group => :end_user_id, :order => "#{field}_#{sort_method} #{direction}")
else
field = self.user_segment_fields[order_by.to_sym][:field]
EndUserToken.scoped :order => "#{field} #{direction}"
end
end

def self.field_heading(field)
self.user_segment_fields[field][:name]
end

def self.get_handler_data(ids, fields)
EndUserToken.find(:all, :conditions => {:end_user_id => ids}, :include => :access_token).group_by(&:end_user_id)
end

def self.field_output(user, handler_data, field)
UserSegment::FieldType.field_output(user, handler_data, field)
end
end
2 changes: 2 additions & 0 deletions config/environment.rb
Expand Up @@ -100,6 +100,8 @@ def webiva_remove_load_paths(file)
config.gem "json"
config.gem "httparty"
config.gem "fastercsv"
config.gem "httparty"
config.gem "resthome"

if RAILS_ENV == 'test'
config.gem 'factory_girl',:source => 'http://gemcutter.org'
Expand Down
311 changes: 0 additions & 311 deletions lib/active_web_service.rb

This file was deleted.

0 comments on commit 4704385

Please sign in to comment.