<% if all_day_settings[i.to_s] %>
<% all_day_settings[i.to_s].each_with_index do |setting,j| %>
@@ -765,9 +771,59 @@
}
})
var setting_count = <%=setting_count%>;
+ var default_time_settings = <%= PropertyHireSetting.first.default_time_settings.map{|s| s.attributes.except("_id","created_at","updated_at")}.to_s.gsub("=>",": ").html_safe rescue "[]" %>
+ $(".apply_default_time_settings").click(function(){
+ var target = $($(this).data("target"));
+ var key = $(this).data("count");
+ var day = $(this).data("day");
+ var new_key = $(this).prev().attr('value');
+ var old_key = new RegExp("new_key", "g");
+ var new_day = day;
+ var old_day = new RegExp("new_day", "g");
+ var new_key = key;
+ target.empty();
+ default_time_settings.forEach(function(setting){
+ var old_index = new RegExp("new_index", "g");
+ var new_index = setting_count;
+ setting_count += 1;
+ <% property_day_setting = f.object.property_day_settings.new(:id=>nil) %>
+ <%= f.fields_for :property_day_settings,property_day_setting,:child_index => "new_index" do |f| %>
+ var template_html = "<%= escape_javascript(render(:partial=>"time_form",:locals=>{:f=>f})) %>";
+ <%end%>
+ var tmp = $(template_html.replace(old_index,new_index).replace(old_key,new_key).replace(old_day,new_day));
+ Object.keys(setting).forEach(function(k){
+ if(tmp.find("[name*='["+k+"]'").length != 0){
+ tmp.find("[name*='["+k+"]']").val(setting[k]);
+ console.log([k,setting[k]])
+ }
+ });
+ target.append(tmp);
+ key += 1;
+ })
+ $(this).data("count",key);
+ target.find("input[data-format]").each(function(i,input){
+ var $input = $(input);
+ var format = $input.data("format"),
+ timeOnly = !(format.match(/Y|M|d/)), timeFormat, dateFormat = "";
+ if(timeOnly){
+ timeFormat = format;
+ }else{
+ dateFormat = format.match(/yy(\/|-|)(mm|)(\/|-|)(dd|)/i)[0];
+ timeFormat = $.trim(format.replace(dateFormat,""));
+ }
+ var options = {dateFormat: dateFormat,timeFormat: timeFormat,timeOnly: timeOnly};
+ var additionalOptions = $input.data();
+ $.extend(options, additionalOptions);
+ $input.ui_datetimepicker(options);
+ $input.siblings('.clearDate').click(function(){
+ $input.val('');
+ $input.trigger('change');
+ });
+ })
+ })
$(".add_weekday_setting").click(function(){
var target = $($(this).data("target"));
- var key = $(this).data("key");
+ var key = $(this).data("count");
var day = $(this).data("day");
var new_key = $(this).prev().attr('value');
var old_key = new RegExp("new_key", "g");
@@ -775,7 +831,7 @@
var old_day = new RegExp("new_day", "g");
var new_key = key;
key += 1;
- $(this).data("key",key);
+ $(this).data("count",key);
var old_index = new RegExp("new_index", "g");
var new_index = setting_count;
setting_count += 1;
diff --git a/app/views/admin/property_hires/_time_form.html.erb b/app/views/admin/property_hires/_time_form.html.erb
index d056e36..62d8066 100644
--- a/app/views/admin/property_hires/_time_form.html.erb
+++ b/app/views/admin/property_hires/_time_form.html.erb
@@ -24,13 +24,13 @@
<%= f.label :start_time, t("property_hire.limit_start_time"), :class => "control-label muted" %>
- <%= f.datetime_picker :start_time, :picker_type => "time", :no_label => true, :new_record => @property.new_record? %>
+ <%= f.datetime_picker :start_time, :picker_type => "time", :no_label => true, :new_record => (@property.new_record? rescue true) %>
<%= f.label :end_time, t("property_hire.limit_end_time"), :class => "control-label muted" %>
- <%= f.datetime_picker :end_time, :picker_type => "time", :no_label => true, :new_record => @property.new_record? %>
+ <%= f.datetime_picker :end_time, :picker_type => "time", :no_label => true, :new_record => (@property.new_record? rescue true) %>
<%= f.hidden_field :key, :value => key %>
diff --git a/app/views/admin/property_hires/settings.html.erb b/app/views/admin/property_hires/settings.html.erb
index 2844468..779b38f 100644
--- a/app/views/admin/property_hires/settings.html.erb
+++ b/app/views/admin/property_hires/settings.html.erb
@@ -6,6 +6,18 @@
<% content_for :page_specific_javascript do %>
<%= javascript_include_tag "lib/module-area" %>
<% end %>
+
<%= form_for @settings , :url => settings_admin_property_hires_path, html: {class: "form-horizontal main-forms"} do |f| %>