@election.user = session[:user]
@election.anonymous = 1
@election.startdate = Time.now
-
+
+ unless params[:top_bar][:uploaded_data].to_s.empty?
+ token_generator = UniqueTokenGenerator.new( 16 )
+ @election.embed_custom_string = token_generator.token
+ add_theme(@election.embed_custom_string)
+ end
+
if @election.save
flash[:notice] = 'Election was successfully created.'
redirect_to :action => 'edit_candidates', :id => @election.id
def update_general_information
@election = Election.find(params[:id])
+
+ unless (params[:top_bar][:uploaded_data].to_s.empty? and params[:default_image][:uploaded_data].to_s.empty? and params[:bg1][:uploaded_data].to_s.empty? and params[:bg2][:uploaded_data].to_s.empty? and params[:bottom_bar][:uploaded_data].to_s.empty?)
+ unless @election.embed_custom_string
+ token_generator = UniqueTokenGenerator.new( 16 )
+ @election.embed_custom_string = token_generator.token
+ end
+
+ add_theme(@election.embed_custom_string)
+ end
+
if @election.update_attributes(params[:election])
flash[:notice] = 'Election was successfully updated.'
redirect_to :action => 'show', :id => @election
render :action => 'edit'
end
end
-
-
+
+ def add_theme(prefix)
+ unless params[:top_bar][:uploaded_data].to_s.empty?
+ top_bar = SkinPicture.new(params[:top_bar])
+ top_bar.filename = prefix + "top_bar." + params[:top_bar][:uploaded_data].content_type[6..-2]
+ top_bar.save
+ end
+ unless params[:default_image][:uploaded_data].to_s.empty?
+ default_image = SkinPicture.new(params[:default_image])
+ default_image.filename = prefix + "default_image." + params[:default_image][:uploaded_data].content_type[6..-2]
+ default_image.save
+ end
+ unless params[:bg1][:uploaded_data].to_s.empty?
+ bg1 = SkinPicture.new(params[:bg1])
+ bg1.filename = prefix + "bg1." + params[:bg1][:uploaded_data].content_type[6..-2]
+ bg1.save
+ end
+ unless params[:bg2][:uploaded_data].to_s.empty?
+ bg2 = SkinPicture.new(params[:bg2])
+ bg2.filename = prefix + "bg2." + params[:bg2][:uploaded_data].content_type[6..-2]
+ bg2.save
+ end
+ unless params[:bottom_bar][:uploaded_data].to_s.empty?
+ bottom_bar = SkinPicture.new(params[:bottom_bar])
+ bottom_bar.filename = prefix + "bottom_bar." + params[:bottom_bar][:uploaded_data].content_type[6..-2]
+ bottom_bar.save
+ end
+
+ end
+
def show
@sidebar_content = render_to_string :partial => 'progress',
:locals => { :page => 'review' }