The new AdBanner.

This commit is contained in:
Matthew K. Fu JuYuan authored and Christophe Vilayphiou committed 2012-04-02 03:04:38 +08:00
1 parent b17cd7570f
commit 8f28d45379
32 files changed
+1763 -240

No files matched your search

@@ -1,11 +0,0 @@
<tr class="with_action">
<td class="span1"><input type="checkbox"></td>
<td class="span1-2"><%= location %></td>
<td class="span1">
<i class="icons-picture img-peview" rel="popover" data-content="&lt;img src=<%= ad_image.file %> /&gt;" data-original-title=<%= ad_image.picture_intro %>></i>
</td>
<td class="span7"><%= link_to (ad_image.picture_intro || t("untitled")),'' %></td>
<td class="span1-2"><%= start_date %></td>
<td class="span1-2"><%= end_date.nil?? t('form.date_unlimited'): end_date %></td>
<td class="span1-2"><%= style %></td>
</tr>
@@ -0,0 +1,18 @@
<script type="text/javascript" src="/static/jquery.cycle.all.latest.js"></script>
<div class="tab-pane <%= "active" if ad_banner_tab==@active %>" id=<%= ad_banner_tab.title %>>
<p>尺寸:</p>
<%= form_for ad_banner_tab,:url=> admin_ad_banner_path(ad_banner_tab),:method => :put,:class=>"input-medium" do |f| -%>
<%= f.label :ad_fx, t('admin.ad_fx') %>
<%= f.select :ad_fx ,AdBanner::FX_TYPES %>
<%= f.submit %>
<%= f.submit 'Cancel',:type=>'reset' %>
<%= f.text_field :transition_sec,:placeholder=>"3秒請輸入3000",:class=> "span3" %>
<div>
<%= render :partial => "ad_image_update", :collection => ad_banner_tab.ad_images,:as => :ad_image,:locals=>{:ad_banner => ad_banner_tab} %>
<%#= render :partial => 'new_add_banner_file', :object => ad_banner_tab.ad_images.build, :locals => { :field_name => "new_ad_images[]", :f => f, :classes => "r_destroy" } %>
<%= link_to 'Add AdImage',new_admin_ad_banner_ad_image_path(ad_banner_tab) %>
</div>
<% end -%>
<%= preview_block ad_banner_tab %>
</div>
@@ -1,8 +0,0 @@
<div id="basic_block" class="roles_block">
<%= image_tag ad_image.file %>
<p>
Time to next: <%= ad_image.time_to_next %>
Intro: <%= ad_image.picture_intro %>
Out Link <%= link_to ad_image.out_link %> by <%= ad_image.link_open %>
</p>
</div>
@@ -1,5 +0,0 @@
Time: <%= f.text_field :time_to_next ,:class=> 'ad_time'%>
Link:<%= f.text_field :out_link ,:class=> 'ad_out_link'%>
Open Type <%= f.select :link_open ,AdImage::LINK_OPEN_TYPES %>
<%= f.hidden_field :to_save %>
@@ -1,8 +0,0 @@
<div id="basic_block" class="roles_block">
<%= image_tag ad_image.file %>
<p>
Time to next: <%= ad_image.time_to_next %>
Intro: <%= ad_image.picture_intro %>
Out Link <%= link_to ad_image.out_link %> by <%= ad_image.link_open %>
</p>
</div>
@@ -1,9 +1,12 @@
<%= fields_for "ad_banner[existing_ad_images][#{ad_image.id}]", ad_image do |f| %>
<%= image_tag ad_image.file %>
<div>
Destroy?<%= f.check_box :to_destroy %>
<%= render :partial => "ad_image_form", :locals => { :f => f } %>
</div>
<% end %>
<li class="span3" id = 'asd'>
<%= image_tag ad_image.file %>
<p>
<%= ad_image.display? ? '[Showing]' : '[NotShawing]' %>
<%= "#{ad_image.post_date ||'NeedReset' }~#{ad_image.unpost_date || 'NeedReset'}" %>
</p>
<p>
<%= link_to 'Edit',edit_admin_ad_banner_ad_image_path(ad_banner,ad_image),:class => 'btn btn-primary' %>
<%= link_to 'Del',admin_ad_banner_ad_image_path(ad_banner,ad_image),:class => 'btn',:method => :delete,:confirm => t('sure?') %>
</p>
</li>
-53
View File
@@ -1,53 +0,0 @@
<% content_for :page_specific_css do %>
<%#= javascript_include_tag "ad_banner" #this line wont work %>
<script type="text/javascript" src="<%= asset_path 'ad_banner' %>"></script>
<% end %>
<p>
<%= f.label :title, t('admin.title') %>
<%= f.text_field :title, :class => 'text' %>
</p>
<p>
<%= f.label :picture_position, t('admin.picture_position') %>
<%= f.text_field :picture_position, :class => 'text' %>
</p>
<p>
<%= f.label :post_date, t('admin.post_date') %>
<%= f.date_select :post_date, :order => [:year, :month, :day], :use_month_numbers => true %>
</p>
<p>
<%= f.label :unpost_date, t('admin.unpost_date') %>
<%= f.date_select :unpost_date, :order => [:year, :month, :day], :use_month_numbers => true,:prompt => { :day => t('form.date_unlimited'), :month => t('form.date_unlimited'), :year => t('form.date_unlimited') } %>
</p>
<p>
<%= f.label :context, t('admin.context') %>
<%= f.text_field :context, :class => 'text' %>
</p>
<p>
<%= f.label :direct_to_after_click, t('admin.direct_to_after_click') %>
<%= f.check_box :direct_to_after_click %>
</p>
<p>
<%= f.label :ad_fx, t('admin.ad_fx') %>
<%= f.select :ad_fx ,AdBanner::FX_TYPES %>
</p>
<p>
<%#= f.label :ad_images, t('admin.ad_images') %>
<%# @ad_banner.ad_images.each do |ad_image| %>
<%#= render :partial => 'ad_image_update', :object => ad_image, :locals => { :field_name => "ad_images", :f => f, :classes => "r_destroy, r_edit" } %>
<%# end %>
<%= render :partial => "ad_image_update", :collection => @ad_banner.ad_images,:as => :ad_image, %>
<ul id="new_add_banner_file_holder"></ul>
<%= render :partial => 'new_add_banner_file', :object => @ad_banner.ad_images.build, :locals => { :field_name => "new_ad_images[]", :f => f, :classes => "r_destroy" } %>
</p>
<p>
<%#= render :partial => 'new_design_file', :object => @design.themes.build, :locals => { :field_name => "themes", :f => f, :classes => "r_destroy" } %>
</p>
@@ -0,0 +1,40 @@
<script type="text/javascript" charset="utf-8">
</script>
<div id="new-a-banner" class="modal fade in tab-pane <%= 'active' if @active.nil? %>">
<%= form_for(:ad_banner,:remote => true, :url => admin_ad_banners_path) do |f| %>
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>Add AdBanner</h3>
</div>
<div class="modal-body form-horizontal">
<div class="control-group">
<%= f.label :title,:class => "control-label" %>
<div class="controls">
<%= f.text_field :title %>
</div>
</div>
<div class="control-group">
<%= f.label :transition_sec,:class => "control-label" %>
<div class="controls">
<%= f.text_field :transition_sec %>
</div>
</div>
<div class="control-group">
<%= f.label :ad_fx,:class => "control-label" %>
<div class="controls">
<%= f.select :ad_fx ,AdBanner::FX_TYPES %>
</div>
</div>
<div class="modal-footer">
<%= f.submit t('submit'), :class=>'btn btn-primary' %>
<a class="btn" data-dismiss="modal"><%= t('cancel')%></a>
</div>
<% end %>
</div>
@@ -1,7 +1,7 @@
<%= f.fields_for field_name, new_add_banner_file do |f| %>
<p class="new_file">
<%= f.file_field :file %>
<%= render :partial => "ad_image_form", :locals => { :f => f } %>
<%#= render :partial => "ad_image_form", :locals => { :f => f } %>
<%= button_tag '+', :class => "multi_files"%>
</p>
<% end %>
@@ -1,11 +0,0 @@
<div id="search">
<input id="user_search" name="user[username]" size="30" type="text" />
</div>
<div class="member_setup <%= @class %>">
<h1><%= t('admin.setup_member') %></h1>
<ul class="list">
<li class="set_1"><%= link_to content_tag(:span, t('admin.list_users')), admin_users_path %></li>
<li class="set_2"><%= link_to content_tag(:span, t('admin.list_roles')), admin_roles_path %></li>
<li class="set_3"><%= link_to content_tag(:span, t('admin.list_infos')), admin_infos_path %></li>
</ul>
</div>
-11
View File
@@ -1,11 +0,0 @@
<h1><%= t('admin.editing_ad_banner') %></h1>
<%= form_for @ad_banner, :url => admin_ad_banner_path(@ad_banner),:html => {:multipart => true} do |f| %>
<%= f.error_messages %>
<%= render :partial => "form", :locals => { :f => f } %>
<p>
<%= f.submit t('update') %> <%= link_back %>
</p>
<% end %>
<br /><br/>
+15 -41
View File
@@ -1,42 +1,16 @@
<div id="post-body-content" class="clear">
<ul class="nav nav-tabs">
<% @ad_banners.each do |ab| %>
<%= content_tag :li,link_to(ab.title,"##{ab.title}",:data=>{:toggle=>"tab"}),:class => (ab == @active ? 'active' : '' ) %>
<% end -%>
<%= content_tag :li,link_to('New',"#new-a-banner",:data=>{:toggle=>"tab"}),:class => (@active.nil? ? 'active' : '' ) %>
</ul>
<div class="tab-content">
<%= render :partial => 'ad_banner_tab',:collection => @ad_banners %>
<%= render :partial => "modal_ad_banner_form"%>
</div>
</div>
<%= flash_messages %>
<ul class="nav nav-pills filter">
<li class="accordion-group">
<form class="form-search">
<input class="input-medium search-query" type="text">
<button class="btn" type="submit">Search</button>
</form>
</li>
</ul>
<table class="table main-list" style="margin-top: 62px; ">
<thead>
<tr>
<th class="span1"></th>
<th class="span1-2"><%= t('admin.location') %></th>
<th class="span1"><%= t('admin.title') %> </th>
<th class="span7"><%= t('admin.title') %></th>
<th class="span1-2"><%= t('admin.start_date')%></th>
<th class="span1-2"><%= t('admin.end_date') %></th>
<th class="span1-2"><%= t('admin.style') %></th>
</tr>
</thead>
<% @ad_banners.each do |ad_banner| %>
<tr class="have">
<td></td>
<td><%= ad_banner.picture_position %></td>
<td><%= link_to ad_banner.title,edit_admin_ad_banner_path(ad_banner) %></td>
<td></td>
<td><%= ad_banner.post_date %></td>
<td><%= ad_banner.unpost_date.nil?? t('form.date_unlimited'): ad_banner.unpost_date %></td>
<td><%= ad_banner.ad_fx %></td>
</tr>
<tr></tr>
<% end %>
</table>
<div class="button_bar">
<%= link_to t('admin.new_ad_banner'), new_admin_ad_banner_path, :class => 'new' %>
</div>
-13
View File
@@ -1,13 +0,0 @@
<div class="main2">
<h1><%= t('admin.new_ad_banner') %></h1>
<%= form_for :ad_banner, :url => admin_ad_banners_path, :html => {:multipart => true} do |f| %>
<%= f.error_messages %>
<%= render :partial => "form", :locals => { :f => f } %>
<div class="button_bar">
<%= link_back %>
<%= f.submit t('create') %>
</div>
<% end %>
</div>
-17
View File
@@ -1,17 +0,0 @@
<% content_for :secondary do %>
<%= render 'side_bar' %>
<% end %>
<br /><br /><br /><br />
<ul>
<li><%=t('admin.ad_banner.title') %> <%= @ad_banner.title %></li>
<li><%=t('admin.ad_banner.picture_position') %> <%= @ad_banner.picture_position %></li>
<li><%=t('admin.ad_banner.post_date') %> <%= @ad_banner.post_date %></li>
<li><%=t('admin.ad_banner.unpost_date') %> <%= @ad_banner.unpost_date %></li>
<li><%=t('admin.ad_banner.context') %> <%= @ad_banner.context %></li>
<li><%=t('admin.ad_banner.direct_to_after_click') %> <%= @ad_banner.direct_to_after_click %></li>
<li><%=t('admin.ad_banner.ad_fx') %> <%= @ad_banner.ad_fx %></li>
</ul>
<%= render :partial => "admin/ad_banners/ad_image_show", :collection => @ad_banner.ad_images,:as => :ad_image %>
+186
View File
@@ -0,0 +1,186 @@
<% content_for :page_specific_css do %>
<%= stylesheet_link_tag "lib/datepicker" %>
<% end %>
<% content_for :page_specific_javascript do %>
<%= javascript_include_tag "lib/datepicker" %>
<%= javascript_include_tag "lib/date.format" %>
<% end %>
<div id="poststuff">
<form class="clear">
<!--Widget start-->
<div id="sub-wiget">
<div id="widget-date" class="widget-box">
<div class="widget-action clear">
<a href="#" class="action"><i title="Set the announcement to start and end dates" class="icon-exclamation-sign icon-white tip"></i></a>
</div>
<h3 class="widget-title"><i class="icons-calendar icons-white"></i> Date</h3>
<div class="widget-content clear">
<div id="calendarRange">
<div class="input-append">
<span class="showDate"></span><span class="add-on btn">▼</span>
<%= f.hidden_field :parse_post_date %>
<%= f.hidden_field :parse_unpost_date%>
</div>
<div id="widgetCalendar">
</div>
</div>
<script type="text/javascript">
var today = new Date();
today = today.format('isoDate');
var state = false;
var arr = state ? "▼" : "▲"
//calendarRange
$('#calendarRange .showDate').html(today+" - "+today)
$('#calendarRange .calendarInput').val(today+" - "+today);
$('#calendarRange #widgetCalendar').DatePicker({
flat: true,
format: 'Y / m / d',
date: today,
calendars: 1,
mode: 'range',
starts: 1,
onChange: function(formated) {
$('#calendarRange .showDate').get(0).innerHTML = formated.join(' - ');
$('#calendarRange .calendarInput').val(formated.join(' - '));
start_date = formated[0].replace(/\s/g, "");
end_date = formated[1].replace(/\s/g, "");
$('#ad_image_parse_post_date').val(start_date);
$('#ad_image_parse_unpost_date').val(end_date);
}
});
$('#calendarRange .input-append').bind('click', function(){
var arr = state ? "▼" : "▲"
$('#calendarRange .add-on').html(arr);
$('#calendarRange #widgetCalendar').stop().animate({height: state ? 0 : $('#calendarRange #widgetCalendar div.datepicker').get(0).offsetHeight}, 500);
state = !state;
return false;
});
$('#calendarRange #widgetCalendar div.datepicker').css('position', 'absolute');
</script>
</div>
</div>
<div id="widget-picture" class="widget-box">
<div class="widget-action clear">
<a class="action"><i title="Upload pictures" class="icon-exclamation-sign icon-white tip"></i></a>
</div>
<h3 class="widget-title"><i class="icons-picture icons-white"></i>Picture</h3>
<div class="widget-content clear">
<div class="control-group">
<div class="upload-picture">
<!--請程式務必將圖片尺寸加入到行內裡-->
<%= image_tag @ad_image.file,:width=> "456",:height=>'700' rescue ''%>
<script type="text/javascript">
var picH = $('.upload-picture').width()/$('.upload-picture').find('img').attr("width")*$('.upload-picture').find('img').attr("height")
var imgMarginTop = ($('.upload-picture').height()-picH)/2;
var d = $('.upload-picture').height();
if(imgMarginTop>0){
imgMarginTop = 0;
d = picH;
$('.upload-picture').css({height:d})
}
$('.upload-picture').find('img').css({marginTop:imgMarginTop})
$('.upload-picture').each(function (i){
$(this).mouseenter(function(){
var h= picH;
$(this).stop().animate({height:h}, 500);
$(this).find('img').stop().animate({marginTop:0}, 500);
});
$(this).mouseleave(function(){
$(this).stop().animate({height:d}, 500);
$(this).find('img').stop().animate({marginTop:imgMarginTop}, 500);
});
});
</script>
</div>
<span class="alert widgetInfo">此區塊圖片尺寸請使用580px × 225px</span>
<div class="controls file-upload input-prepend">
<label class="control-label add-on btn" for="input-upload">
Choose file
<%= f.file_field :file,:id=>"input-upload",:class => "upload", :onchange=> "document.getElementById('fu1').innerHTML = this.form.fu1.value = this.value;" %>
</label>
<span id="fu1" class="file-name"></span>
<br>
<input name="fu1" class="input-medium" type="text">
</div>
</div>
</div>
</div>
<div id="widget-type" class="widget-box">
<div class="widget-action clear">
<a class="action"><i class="icon-exclamation-sign icon-white tip" data-original-title="Upload pictures"></i></a>
</div>
<h3 class="widget-title"><i class="icons-star-thin icons-white"></i>Type</h3>
<div class="widget-content clear">
<%= f.select :link_open ,AdImage::LINK_OPEN_TYPES%>
</div>
</div>
<div id="widget-time" class="widget-box widget-size-300">
<div class="widget-action clear">
<a class="action"><i class="icon-exclamation-sign icon-white tip" data-original-title="Set the range time"></i></a>
</div>
<h3 class="widget-title"><i class="icons-time icons-white"></i>FEQ</h3>
<div class="widget-content clear">
<%= f.text_field :weight ,:class=> 'span3',:placeholder=>"在套圖中出現次數 1次請輸入1" %>
</div>
</div>
<div id="widget-link" class="widget-box widget-size-300">
<div class="widget-action clear">
<a class="action"><i class="icon-exclamation-sign icon-white tip" data-original-title="Add a reference link"></i></a>
</div>
<h3 class="widget-title"><i class="icons-link icons-white"></i>Link</h3>
<div class="widget-content clear">
<%= f.text_field :out_link ,:class=> 'span3',:placeholder => "輸入連結"%>
</div>
</div>
</div>
<!--Wiget End-->
<!--Post Start-->
<div id="post-body">
<div id="post-body-content" class="clear">
<ul class="nav nav-tabs">
<% site_valid_locales_default_head.each do |locale|%>
<%= content_tag :li,link_to(I18nVariable.from_locale(locale),"##{locale}",:data=>{:toggle => "tab"}),:class=> (active_when_default_locale_eq locale) %>
<% end %>
</ul>
<div class="tab-content">
<%= select_tag 'ad_banner[id]',options_from_collection_for_select(AdBanner.all, "id", "title",params[:ad_banner_id]) , :class=>"input-medium", %>
<% site_valid_locales_default_head.each do |locale|%>
<%= content_tag :div,:class => "tab-pane #{active_when_default_locale_eq locale}",:id=>"#{locale}" do%>
<div class="title">
<%= f.fields_for :title,@ad_image.title do |f| %>
<%= f.text_field locale,:class=>"ad_image-title",:placeholder => "輸入標題"%>
<% end %>
</div>
<div class="context editor">
<%= f.fields_for :context, @ad_image.context do |f| %>
<%= f.text_area locale,:style => "width:100%", :class => "asd_tinymce_textarea" %>
<% end %>
</div>
<% end %>
<% end %>
</div>
</div>
</div>
</div>
<!--Post End-->
<div class="form-actions">
<button class="btn btn-success" type="submit">Preview/預覽</button>
<button class="btn btn-primary" type="submit">Submit/送出</button>
<button class="btn" type="reset">Cancel/取消</button>
</div>
</form>
</div>
+8
View File
@@ -0,0 +1,8 @@
<%= flash_messages %>
<%= form_for @ad_image, :url => admin_ad_banner_ad_image_path, :html => { :class => 'form' } do |f| %>
<%= render :partial => "form", :locals => { :f => f } %>
<% end %>
+8
View File
@@ -0,0 +1,8 @@
<%= flash_messages %>
<%= form_for @ad_image, :url => create_ad_image_admin_ad_banners_path, :html => { :class => 'form' ,:multipart => true} do |f| %>
<%= render :partial => "form", :locals => { :f => f } %>
<% end %>
+8
View File
@@ -29,6 +29,14 @@
<%= link_to content_tag(:i, nil, :class => 'icons-window-block') + t('admin.design'), admin_designs_path %>
<% end -%>
<%= content_tag :li, :class => active_for_controllers('ad_banners') do -%>
<%= link_to content_tag(:i, nil, :class => 'icons-link') + t('admin.ad_banner'), admin_ad_banners_path %>
<%= content_tag :li, link_to(t('admin.all_ad_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %>
<%= content_tag :li, link_to(t('admin.new_ad_banner'), new_admin_ad_banner_path), :class => active_for_action('ad_banners', 'new') %>
<%= content_tag :li, link_to(t('admin.new_ad_image'), new_ad_image_admin_ad_banners_path), :class => active_for_action('ad_banners', 'new_image') %>
<% end -%>
<%= content_tag :li, :class => active_for_controllers('web_links', 'tags', 'web_link_categorys') do -%>
<%= link_to content_tag(:i, nil, :class => 'icons-link') + t('admin.link'), panel_web_resource_back_end_web_links_path %>
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('web_links', 'tags', 'web_link_categorys')) do -%>