155 lines
5.3 KiB
Plaintext
155 lines
5.3 KiB
Plaintext
<% content_for :page_specific_css do %>
|
|
<%= stylesheet_link_tag "lib/main-forms" %>
|
|
<%= stylesheet_link_tag "lib/fileupload" %>
|
|
<%= stylesheet_link_tag "lib/main-list" %>
|
|
<%= stylesheet_link_tag "select2/select2" %>
|
|
<% end %>
|
|
<% content_for :page_specific_javascript do %>
|
|
<%= javascript_include_tag "select2/select2.min" %>
|
|
<% end %>
|
|
<style type="text/css">
|
|
.reach_limit{
|
|
background: #a90c0c;
|
|
color: white;
|
|
padding: 4px 12px;
|
|
font-family: 'Varela Round';
|
|
letter-spacing: -.4px;
|
|
cursor: default;
|
|
display: inline-block;
|
|
}
|
|
.add-on.btn-group .dropdown-menu{
|
|
margin: 0;
|
|
}
|
|
.main-forms fieldset .input-area .controls .input-prepend a:hover{
|
|
color: #fff;
|
|
}
|
|
.main-forms fieldset .input-area {
|
|
padding: 0;
|
|
}
|
|
</style>
|
|
<% content_for :page_specific_javascript do %>
|
|
<%= javascript_include_tag "lib/bootstrap-fileupload" %>
|
|
<%= javascript_include_tag "lib/bootstrap-datetimepicker" %>
|
|
<%= javascript_include_tag "lib/datetimepicker/datetimepicker.js" %>
|
|
<%= javascript_include_tag "lib/file-type" %>
|
|
<%= javascript_include_tag "lib/module-area" %>
|
|
<%= javascript_include_tag "form" %>
|
|
<% end %>
|
|
<div class="control-group">
|
|
<label class="control-label">*<%= t("ruling_timer.project_name") %></label>
|
|
<div class="controls">
|
|
<%= f.text_field :project_name, :required => "required" %>
|
|
</div>
|
|
</div>
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t("ruling_timer.category") %></label>
|
|
<span class="input-area">
|
|
<div class="controls">
|
|
<%= select_category(f, @module_app) %>
|
|
</div>
|
|
</span>
|
|
</div>
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t(:tags) %></label>
|
|
<span class="input-area">
|
|
<%= select_tags(f, @module_app) %>
|
|
</span>
|
|
</div>
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t("ruling_timer.objectives") %></label>
|
|
<div class="controls">
|
|
<%= f.text_area :objectives %>
|
|
</div>
|
|
</div>
|
|
<%= render :partial => "form_opts", :locals => {:base_name=>"ruling_timer",:field_name=>"status",:f=>f} %>
|
|
<%= render :partial => "form_opts", :locals => {:base_name=>"ruling_timer",:field_name=>"privacy",:f=>f} %>
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t("ruling_timer.project_manager") %></label>
|
|
<div class="controls">
|
|
<div id="project_manager_append_area" class="checkbox-card">
|
|
<%= @selected_project_managers.join("\n").html_safe %>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
<button id="add_user_btn" type="button" class="btn btn-primary" data-modal="#project_manager_modal"><%=t("ruling_timer.change")%></button>
|
|
</div>
|
|
</div>
|
|
<div class="control-group">
|
|
<label class="control-label muted"><%= t("ruling_timer.project_member") %></label>
|
|
<div class="controls">
|
|
<div id="all_user_append_area" class="checkbox-card">
|
|
<%= @selected_all_users.join("\n").html_safe %>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
<button id="add_user_btn" type="button" class="btn btn-primary" data-modal="#all_user_modal"><%=t("ruling_timer.add_member")%></button>
|
|
</div>
|
|
</div>
|
|
<!-- Form Actions -->
|
|
<div class="form-actions">
|
|
<%= f.hidden_field :is_hidden, :value => "0" %>
|
|
<%= f.hidden_field :is_private, :value => "0" %>
|
|
<%= f.hidden_field :time_offset, :id=>"task_timeoffset" %>
|
|
<% referer = request.referer rescue nil %>
|
|
<% referer = get_referer_url if referer.blank? || request.host != URI.parse(URI.encode(referer)).host %>
|
|
<%= f.submit t('submit'), class: 'btn btn-primary' %>
|
|
<input type="hidden" name="referer_url" value="<%= referer %>">
|
|
<%= link_to t('cancel'), referer, :class=>"btn" %>
|
|
</div>
|
|
<script>
|
|
if (!Array.prototype.includes) {
|
|
Object.defineProperty(Array.prototype, "includes", {
|
|
enumerable: false,
|
|
value: function(obj) {
|
|
var newArr = this.filter(function(el) {
|
|
return el == obj;
|
|
});
|
|
return newArr.length > 0;
|
|
}
|
|
});
|
|
}
|
|
function matchCustom(params, data) {
|
|
var all_options = this.element[0].all_options;
|
|
if(params == undefined || params.trim() == ''){
|
|
return all_options.includes(data);
|
|
}else{
|
|
return (data.toLowerCase().search(params.toLowerCase()) != -1)
|
|
}
|
|
}
|
|
var select2 = $(".select2_selection_box");
|
|
select2.each(function(i,v){
|
|
var select2_item = $(v);
|
|
var all_options = select2_item.find("option").map(function(j,option){
|
|
return $(option).text();
|
|
}).toArray();
|
|
select2_item[0].all_options = all_options;
|
|
select2_item.select2({
|
|
placeholder: select2_item.data("placeholder"),
|
|
matcher: matchCustom,
|
|
width: 'resolve'
|
|
});
|
|
})
|
|
window.timer_offset = (new Date().getTimezoneOffset() / -60).toString();
|
|
if(window.timer_offset[0] != "-"){
|
|
window.timer_offset = "+" + window.timer_offset;
|
|
}
|
|
$(document).ready(function(){
|
|
$(".slider").each(function(i,slider){
|
|
var $slider = $(slider);
|
|
var $slider_value = $slider.parent().find(".slider_value");
|
|
$slider.slider({
|
|
min: parseInt($slider.attr("min")),
|
|
max: parseInt($slider.attr("max")),
|
|
slide: function(e, ui) {
|
|
$slider_value.html(ui.value);
|
|
}
|
|
})
|
|
$slider.on("change",function(){
|
|
$slider_value.text($(this).val());
|
|
})
|
|
})
|
|
$("#hslider")
|
|
$("#task_timeoffset").val(window.timer_offset);
|
|
$("[data-modal]").click(function(){
|
|
$($(this).data("modal")).modal("show");
|
|
})
|
|
})
|
|
</script> |