Class: EditCategoryAction

Inherits:
WebAction show all
Includes:
Assert
Defined in:
lib/ribit/action.rb

Constant Summary collapse

ID =
'edit-category'

Instance Attribute Summary

Attributes inherited from WebAction

#id

Instance Method Summary collapse

Methods included from Assert

assert, #assert, assert_nil, #assert_nil, #assert_not_nil, assert_not_nil, raise_exception

Methods inherited from WebAction

#add_headers

Constructor Details

#initialize(ribitData, ribitConfig) ⇒ EditCategoryAction

Returns a new instance of EditCategoryAction.



867
868
869
870
871
872
873
874
875
# File 'lib/ribit/action.rb', line 867

def initialize( ribitData, ribitConfig )
  assert_not_nil( ribitData, 'RibitData is nil' )
  assert_not_nil( ribitConfig, 'RibitConfig' )
  
  @id = ID
  @ribitData = ribitData
  @ribitConfig = ribitConfig
  @logger = RibitLogger.new( EditAction )
end

Instance Method Details

#run(pageRequest, pageResponse) ⇒ Object



878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
# File 'lib/ribit/action.rb', line 878

def run( pageRequest, pageResponse )
  super( pageRequest, pageResponse )
  
  catID = pageRequest.get_request_param( Constants::CATEGORY_ID_REQUEST_PARAM_NAME )
  
  if ( catID == nil )
    raise RibitException, 'No category ID defined for EditCategoryAction', caller
  end
  
  if ( catID == Constants::NEW_CATEGORY_ID )
    # TODO: new category functionality is not yet supported
  elsif ( @ribitData.get_category_by_id( catID ) == nil )
    raise RibitException, "No category for ID=#{catID}", caller
  else
    @logger.debug( "building edit category page for ID=#{catID}" )
    page = EditCategoryPage.new( @ribitData, catID, @ribitConfig )  
  end
  
  # set the base url for whole page (all links are relative to this)
  add_headers( page )
    
  page.output_page( pageResponse )
  
end