diff --git a/app/controllers/calentries_controller.rb b/app/controllers/calentries_controller.rb index 3a4be9a..e4f4095 100644 --- a/app/controllers/calentries_controller.rb +++ b/app/controllers/calentries_controller.rb @@ -1,15 +1,15 @@ class CalentriesController < ApplicationController # GET /calentries # GET /calentries.json - load_and_authorize_resource - # def index - # @calentries = Calentry.all + #load_and_authorize_resource + def index + - # respond_to do |format| - # format.html # index.html.erb - # format.json { render json: @calentries } - # end - # end + respond_to do |format| + format.html {redirect_to rubriken_path} + + end + end # GET /calentries/1 # GET /calentries/1.json @@ -25,14 +25,16 @@ class CalentriesController < ApplicationController # GET /calentries/new # GET /calentries/new.json - # def new - # @calentry = Calentry.new - - # respond_to do |format| - # format.html # new.html.erb - # format.json { render json: @calentry } - # end - # end + def new + @calentry = Calentry.new + @calentry.object="Neuigkeit".constantize.find(params[:object_id]) + @calentry.typ=1 + respond_to do |format| + format.html # new.html.erb + format.json { render json: @calentry } + format.js + end + end # GET /calentries/1/edit def edit @@ -45,19 +47,21 @@ class CalentriesController < ApplicationController # POST /calentries # POST /calentries.json - # def create - # @calentry = Calentry.new(params[:calentry]) + def create + @calentry = Calentry.new(params[:calentry]) -# respond_to do |format| -# if @calentry.save -# format.html { redirect_to @calentry, notice: 'Calentry was successfully created.' } -# format.json { render json: @calentry, status: :created, location: @calentry } -# else - # format.html { render action: "new" } -# format.json { render json: @calentry.errors, status: :unprocessable_entity } -# end -# end -# end + respond_to do |format| + if @calentry.save + format.html { redirect_to @calentry, notice: 'Calentry was successfully created.' } + format.json { render json: @calentry, status: :created, location: @calentry } + format.js + else + format.html { render action: "new" } + format.json { render json: @calentry.errors, status: :unprocessable_entity } + format.js { render action: "new" } +end + end + end # PUT /calentries/1 # PUT /calentries/1.json @@ -80,12 +84,16 @@ class CalentriesController < ApplicationController # DELETE /calentries/1 # DELETE /calentries/1.json def destroy + logger.info("-------------delete------------------") @calentry = Calentry.find(params[:id]) + @calentry_id = params[:id] + @object=@calentry.object @calentry.destroy - + respond_to do |format| - format.html { redirect_to calentries_url } + format.html { redirect_to @object} format.json { head :no_content } + format.js end end end diff --git a/app/models/ability.rb b/app/models/ability.rb index 6e38a7d..1cc4986 100755 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -129,7 +129,7 @@ class Ability can [:show,:index], Calendar can [:edit, :update,:new,:create,:verwalten], Calendar - can [:edit, :update,:new,:create,:verwalten], Calentry + can [:edit, :update,:new,:create,:verwalten,:delete], Calentry end if( user.has_role?("fetadmin")) can [:delete],Calendar diff --git a/app/models/calentry.rb b/app/models/calentry.rb index 66c401f..4c25840 100644 --- a/app/models/calentry.rb +++ b/app/models/calentry.rb @@ -13,7 +13,7 @@ # class Calentry < ActiveRecord::Base - attr_accessible :ende, :start, :summary, :typ,:calendar_ids, :calendar, :dauer + attr_accessible :ende, :start, :summary, :typ,:calendar_ids, :calendar, :dauer, :object_id, :object_type belongs_to :calendar #belongs_to :neuigkeit validates :start, :presence => true diff --git a/app/views/calentries/_calentry.html.erb b/app/views/calentries/_calentry.html.erb index 909737a..b591e28 100644 --- a/app/views/calentries/_calentry.html.erb +++ b/app/views/calentries/_calentry.html.erb @@ -1,13 +1,13 @@
-<% image_tag("/iconnavy/time.png") %> -<%= fa_icon("calendar 2x") %> + <% image_tag("/iconnavy/time.png") %> + <%= fa_icon("calendar 2x") %> -<% if calentry.start.to_date == calentry.ende.to_date -format=:timeonly -else -format =:default -end%> -<%= calentry.text %> - -<%= link_to "edit", edit_calentry_path(calentry),:remote=>true if can? :edit, calentry %> + <% if (calentry.start.to_date - calentry.ende.to_date) < 1.day + format=:timeonly + else + format =:default + end %> + <%= calentry.text %> + <%= link_to "edit", edit_calentry_path(calentry),:remote=>true if can? :edit, calentry %> + <%= link_to 'Delete', calentry, method: :delete, data: { confirm: 'Are you sure?' } , remote: true if can? :delete, calentry %>
diff --git a/app/views/calentries/_nested_form.html.erb b/app/views/calentries/_nested_form.html.erb index 9797fba..8421935 100644 --- a/app/views/calentries/_nested_form.html.erb +++ b/app/views/calentries/_nested_form.html.erb @@ -1,8 +1,13 @@ <%= fa_icon("calendar 2x") %> +

<%= notice %>

+ <%= semantic_form_for @calentry, :remote=>true, :html=>{:class=>"inline"} do |f| %> <%= f.input :start, :as => :datetimepicker %> -<%= f.input :dauer , :as => :string, :append=>"h" %> + <%= f.input :dauer , :as => :string, :append=>"h" %> + <%= f.input :object_id , :as => :hidden %> + <%= f.input :object_type , :as => :hidden %> +<%= f.input :typ , :as => :hidden %> <%= f.action :submit, :as => :input_ %> diff --git a/app/views/calentries/create.js.erb b/app/views/calentries/create.js.erb new file mode 100644 index 0000000..302cda5 --- /dev/null +++ b/app/views/calentries/create.js.erb @@ -0,0 +1,2 @@ +alert("sdf"); +$("#calentry_new").replaceWith("
\"> <%=escape_javascript( render :partial=>"calentry", :object=>@calentry)%>
<%= escape_javascript( link_to "new Calentry", new_calentry_path, :remote=>true) %>
"); diff --git a/app/views/calentries/delete.js.erb b/app/views/calentries/delete.js.erb new file mode 100644 index 0000000..18f8e1e --- /dev/null +++ b/app/views/calentries/delete.js.erb @@ -0,0 +1 @@ +$("#calentry_<%= @calentry_id %>").remove(); \ No newline at end of file diff --git a/app/views/calentries/destroy.js.erb b/app/views/calentries/destroy.js.erb new file mode 100644 index 0000000..1171da7 --- /dev/null +++ b/app/views/calentries/destroy.js.erb @@ -0,0 +1 @@ +$("#calentry_<%= @calentry_id %>").remove(); diff --git a/app/views/calentries/edit.js.erb b/app/views/calentries/edit.js.erb index 8c1f421..f47a86e 100644 --- a/app/views/calentries/edit.js.erb +++ b/app/views/calentries/edit.js.erb @@ -1,2 +1,7 @@ $("#calentry_<%= @calentry.id %>").html("<%=escape_javascript( render :partial=>"nested_form" ,:object=>@calentry)%>"); + + + + + $('.datetimepicker').datetimepicker({format: 'd.m.Y H:i', startDate: (!($(this).attr("value")==undefined))? $(this).attr("value"): ""}) diff --git a/app/views/calentries/new.js.erb b/app/views/calentries/new.js.erb new file mode 100644 index 0000000..bf9c1f6 --- /dev/null +++ b/app/views/calentries/new.js.erb @@ -0,0 +1,3 @@ +$("#calentry_new").replaceWith("
<%=escape_javascript( render :partial=>"nested_form" ,:object=>@calentry) %>
"); + $('.datetimepicker').datetimepicker({format: 'd.m.Y H:i', startDate: (!($(this).attr("value")==undefined))? $(this).attr("value"): ""}) + \ No newline at end of file diff --git a/app/views/neuigkeiten/show.html.erb b/app/views/neuigkeiten/show.html.erb index 1b3c444..439ff2a 100755 --- a/app/views/neuigkeiten/show.html.erb +++ b/app/views/neuigkeiten/show.html.erb @@ -48,9 +48,12 @@ end

+
<% @calentries1.each do |ce|%> <%= render ce unless ce.nil? %> <% end %> +
+
<%= link_to "new Calentry", new_calentry_path(:object_id=>@neuigkeit.id, :object_type=>"Neuigkeit"), :remote=>true %>
<%= render 'layouts/pretty_toolbar', :object=> @toolbar_elements %> <%= render partial: 'nlink_list_whole', :object=>@neuigkeit.nlinks %>