diff --git a/app/controllers/documents_controller.rb b/app/controllers/documents_controller.rb
index 07b59cf..a20db8f 100644
--- a/app/controllers/documents_controller.rb
+++ b/app/controllers/documents_controller.rb
@@ -8,7 +8,10 @@ class DocumentsController < ApplicationController
end
def new
@document=Document.new
- @document.parent=params[:parent_typ].constantize.find(params[:parent_id])
+ @parent=params[:parent_type].constantize.find(params[:parent_id])
+
+ @document.parent=@parent
+
@document.typ = 1
respond_to do |format|
format.js
@@ -16,6 +19,7 @@ class DocumentsController < ApplicationController
end
def edit
@document = Document.find(params[:id])
+ @parent=@document.parent
respond_to do |format|
format.js
end
@@ -24,7 +28,7 @@ class DocumentsController < ApplicationController
def create
@document = Document.new(params[:document])
-
+ @parent=@document.parent
respond_to do |format|
if @document.save
# format.html { redirect_to @document, notice: 'Document was successfully created.' }
@@ -38,9 +42,9 @@ class DocumentsController < ApplicationController
end
end
-def update
+ def update
@document = Document.find(params[:id])
-
+ @parent=@document.parent
respond_to do |format|
if @document.update_attributes(params[:document])
format.html { redirect_to @document, notice: 'Document was successfully updated.' }
@@ -56,6 +60,7 @@ def update
def destroy
logger.info("-------------delete------------------")
@document = Document.find(params[:id])
+ @parent=@document.parent
@document_id = params[:id]
@document.destroy
diff --git a/app/controllers/meetings_controller.rb b/app/controllers/meetings_controller.rb
index 1592388..247cf4c 100644
--- a/app/controllers/meetings_controller.rb
+++ b/app/controllers/meetings_controller.rb
@@ -10,8 +10,10 @@ class MeetingsController < ApplicationController
end
def new
@meeting=Meeting.new
- @meeting.parent=params[:parent_typ].constantize.find(params[:parent_id])
- @meeting.typ = 1
+ @meeting.parent=params[:parent_type].constantize.find(params[:parent_id])
+ @parent=@meeting.parent
+ @meeting.calentry=Calentry.new
+# @meeting.typ = 1
respond_to do |format|
format.js
end
@@ -35,7 +37,8 @@ class MeetingsController < ApplicationController
end
def edit
@meeting = Meeting.find(params[:id])
- respond_to do |format|
+@parent=@meeting.parent
+respond_to do |format|
format.js
end
@@ -43,7 +46,9 @@ class MeetingsController < ApplicationController
def create
@meeting = Meeting.new(params[:meeting])
-
+ @parent=@meeting.parent
+ #@meeting.assign_attributes(params[:meeting])
+
respond_to do |format|
if @meeting.save
# format.html { redirect_to @meeting, notice: 'Meeting was successfully created.' }
@@ -58,25 +63,25 @@ class MeetingsController < ApplicationController
end
def update
- @meeting = Meeting.find(params[:id])
-
+ @meeting = Meeting.find(params[:id])
+ @parent=@meeting.parent
respond_to do |format|
- if @meeting.update_attributes(params[:meeting])
+ if @meeting.update_attributes(params[:meeting])
format.html { redirect_to @meeting, notice: 'Meeting was successfully updated.' }
format.json { head :no_content }
format.js
else
- # format.html { render action: "edit" }
+ # format.html
# format.json { render json: @meeting.errors, status: :unprocessable_entity }
- format.js { render action: "edit"}
+ format.js { render action: "edit" }
end
end
end
def destroy
logger.info("-------------delete------------------")
@meeting = Meeting.find(params[:id])
+ @parent=@meeting.parent
@meeting_id = params[:id]
- @object=@meeting.object
@meeting.destroy
respond_to do |format|
diff --git a/app/models/document.rb b/app/models/document.rb
index f0fa762..4dd430f 100644
--- a/app/models/document.rb
+++ b/app/models/document.rb
@@ -1,9 +1,14 @@
class Document < ActiveRecord::Base
- attr_accessible :etherpadkey, :name, :parent, :text, :typ
+ attr_accessible :etherpadkey, :name, :parent, :text, :typ, :parent_id, :parent_type
belongs_to :parent, :polymorphic => true
validate :name, :length=>{minimum:3}
validate :text, :presence=>true
validate :typ, :presence=>true
validate :parent, :presence=>true
-
+ def self.new_divid_for(parent)
+ "document_new_parent_" + parent.class.to_s + "_" + parent.id.to_s
+ end
+ def divid
+ "document_"+self.id.to_s
+ end
end
diff --git a/app/models/meeting.rb b/app/models/meeting.rb
index ccab3c0..f786a81 100644
--- a/app/models/meeting.rb
+++ b/app/models/meeting.rb
@@ -1,12 +1,21 @@
class Meeting < ActiveRecord::Base
belongs_to :parent, :polymorphic=>true
belongs_to :meetingtyp
- attr_accessible :desc, :intern, :name
+ attr_accessible :desc, :intern, :name, :parent_id, :parent_type, :calentry,:calentry_attributes
+
+
has_one :protocol, :class_name=>'Document', :conditions=>{:typ=>10}, :as=>:parent
has_one :agenda , :as=>:parent,:conditions=>{:typ=>11}, :class_name=>'Document'
- validate :agenda, :presence=>true
- validate :protocol, :presence=>true
- has_one :calentry, :as=>:object
+ has_one :calentry, as: :object
+ accepts_nested_attributes_for :calentry
+# validate :agenda, :presence=>true
+# validate :protocol, :presence=>true
+ validate :parent, :presence=>true
+ validate :calentry, :presence=>true
+before_validation :fix_calentry
+ def fix_calentry
+ self.calentry.object=self unless self.calentry.nil?
+ end
def public?
! (self.intern)
end
@@ -29,4 +38,12 @@ class Meeting < ActiveRecord::Base
self.agenda=d
end
end
+ def self.new_divid_for(parent)
+ "meeting_new_parent_" + parent.class.to_s + "_" + parent.id.to_s
+ end
+ def divid
+ "meeting_"+self.id.to_s
+ end
+
+
end
diff --git a/app/views/calentries/_nested_fields.html.erb b/app/views/calentries/_nested_fields.html.erb
index 6f1f97d..92d0b55 100644
--- a/app/views/calentries/_nested_fields.html.erb
+++ b/app/views/calentries/_nested_fields.html.erb
@@ -1,10 +1,15 @@
-
-<%= fa_icon("calendar 2x") %>
-
+
+
+ <%= fa_icon("calendar 2x") %>
+
+
+ <%= f.input :start, :as => :datetimepicker %>
+ <%= f.input :dauer , :as => :string, :append=>"h" %>
+ <% f.input :typ %>
+
+
+ <%= f.check_box :_destroy %>
+ <%= I18n.t 'common.delete' %>
+
-
- <%= f.input :start, :as => :datetimepicker %>
- <%= f.input :dauer , :as => :string, :append=>"h" %>
- <% f.input :typ %>
<%= f.check_box :_destroy %> <%= I18n.t 'common.delete' %>
-
diff --git a/app/views/documents/_document.html.erb b/app/views/documents/_document.html.erb
index c92c245..088ea15 100644
--- a/app/views/documents/_document.html.erb
+++ b/app/views/documents/_document.html.erb
@@ -1,8 +1,7 @@
<% image_tag("/iconnavy/time.png") %>
- <%= fa_icon("file-text 2x") %>
-
- <%= document.name %>
+ <%= fa_icon("file-text") %>
+<%= link_to document.name, document %>
<%= link_to "edit", edit_document_path(document),:remote=>true if can? :edit, document %>
<%= link_to 'Delete', document, method: :delete, data: { confirm: 'Are you sure?' } , remote: true if can? :delete, document %>
diff --git a/app/views/documents/_nested_form.html.erb b/app/views/documents/_nested_form.html.erb
index 6e045f3..47d3033 100644
--- a/app/views/documents/_nested_form.html.erb
+++ b/app/views/documents/_nested_form.html.erb
@@ -4,6 +4,8 @@
<%= semantic_form_for @document, :remote=>true, :html=>{:class=>""} do |f| %>
<%= f.input :name %>
+<%= f.input :parent_id, :as=>:hidden %>
+<%= f.input :parent_type, :as=>:hidden %>
<%= f.action :submit, :as => :input_ %>
<% end %>
diff --git a/app/views/documents/create.js.erb b/app/views/documents/create.js.erb
new file mode 100644
index 0000000..97b82dc
--- /dev/null
+++ b/app/views/documents/create.js.erb
@@ -0,0 +1 @@
+$("#<%= Document.new_divid_for(@parent) %>").replaceWith("\">
<%=escape_javascript( render :partial=>"document", :object=>@document)%>");
diff --git a/app/views/documents/edit.html.erb b/app/views/documents/edit.html.erb
new file mode 100755
index 0000000..e3ab18b
--- /dev/null
+++ b/app/views/documents/edit.html.erb
@@ -0,0 +1,6 @@
+Editing Dokument
+
+<%= render 'form' %>
+
+<%= link_to 'Show', @document %> |
+
diff --git a/app/views/documents/edit.js.erb b/app/views/documents/edit.js.erb
index a63cb2c..241ca43 100644
--- a/app/views/documents/edit.js.erb
+++ b/app/views/documents/edit.js.erb
@@ -1,5 +1,4 @@
-
-$("#document_<%= @document.id %>").html("<%=escape_javascript( render :partial=>"nested_form" ,:object=>@document)%>");
+$("#<%= @document.divid %>").html("<%=escape_javascript( render :partial=>"nested_form" ,:object=>@document)%>");
diff --git a/app/views/documents/new.js.erb b/app/views/documents/new.js.erb
index 28248bb..9ca6a5f 100644
--- a/app/views/documents/new.js.erb
+++ b/app/views/documents/new.js.erb
@@ -1,3 +1,3 @@
-$("#document_new").replaceWith("<%=escape_javascript( render :partial=>"nested_form" ,:object=>@document) %>
");
+$("#<%= Document.new_divid_for(@parent) %>").replaceWith("\"><%=escape_javascript( render :partial=>"nested_form" ,:object=>@document) %>
");
\ No newline at end of file
diff --git a/app/views/documents/show.html.erb b/app/views/documents/show.html.erb
new file mode 100644
index 0000000..1cbc4c0
--- /dev/null
+++ b/app/views/documents/show.html.erb
@@ -0,0 +1,8 @@
+<%= @document.name %>
+<%= raw(@document.text) %>
+<%= semantic_form_for @document, :html=>{:class=>""} do |f| %>
+ <%= f.input :text, :as=>:tinymce_text %>
+<%= f.action :submit, :as => :input_ %>
+
+<% end %>
+<%= tinymce %>
diff --git a/app/views/meetings/_meeting.html.erb b/app/views/meetings/_meeting.html.erb
index 93d6943..afba5c6 100644
--- a/app/views/meetings/_meeting.html.erb
+++ b/app/views/meetings/_meeting.html.erb
@@ -1,8 +1,11 @@
Meeting: <%= meeting.name %>
-<%= render meeting.calentry %>
-<%= link_to "Agenda" , create_agenda_meeting_path(meeting), :remote=>true %>
-<%= link_to "Protokoll" , create_protocol_meeting_path(meeting),:remote=>true %>
+<%= link_to "edit", edit_meeting_path(meeting), remote: true %>
+<%= link_to 'Delete', meeting, method: :delete, data: { confirm: 'Are you sure?' } , remote: true if can? :delete, meeting %>
+<%= render meeting.calentry unless meeting.calentry.nil? %>
+<%= link_to "Agenda" , create_agenda_meeting_path(meeting), :remote=>true if meeting.agenda.nil? %>
+<%= link_to "Protokoll" , create_protocol_meeting_path(meeting),:remote=>true if meeting.protocol.nil? %>
<%= render meeting.agenda unless meeting.agenda.nil? %>
<%= render meeting.protocol unless meeting.protocol.nil? %>
+
diff --git a/app/views/meetings/_nested_form.html.erb b/app/views/meetings/_nested_form.html.erb
new file mode 100644
index 0000000..ca312f8
--- /dev/null
+++ b/app/views/meetings/_nested_form.html.erb
@@ -0,0 +1,21 @@
+<%= fa_icon("calendar 2x") %>
+<%= notice %>
+
+<%= semantic_form_for @meeting, :remote=>true, :html=>{:class=>""} do |f| %>
+
+ <%= f.input :name %>
+ <%= f.semantic_fields_for :calentry, @meeting.calentry do |ff| %>
+ <%= ff.input :start, :as => :datetimepicker %>
+ <%= ff.input :dauer , :as => :string, :append=>"h" %>
+ <%= ff.input :typ %>
+ <% ff.input :object_id %>
+ <% ff.input :object_type %>
+
+ <% end %>
+
+<%= f.input :parent_id, :as=>:hidden %>
+<%= f.input :parent_type, :as=>:hidden %>
+ <%= f.action :submit, :as => :input_ %>
+
+<% end %>
+<%= @meeting.calentry.to_yaml %>
diff --git a/app/views/meetings/create.js.erb b/app/views/meetings/create.js.erb
new file mode 100644
index 0000000..6e6be25
--- /dev/null
+++ b/app/views/meetings/create.js.erb
@@ -0,0 +1 @@
+$("#<%= Meeting.new_divid_for(@parent) %>").replaceWith("\">
<%=escape_javascript( render :partial=>"meeting", :object=>@meeting)%>");
diff --git a/app/views/meetings/destroy.js.erb b/app/views/meetings/destroy.js.erb
new file mode 100644
index 0000000..363a5a5
--- /dev/null
+++ b/app/views/meetings/destroy.js.erb
@@ -0,0 +1 @@
+$("#meeting_<%= @meeting_id %>").remove();
diff --git a/app/views/meetings/edit.js.erb b/app/views/meetings/edit.js.erb
new file mode 100644
index 0000000..773307c
--- /dev/null
+++ b/app/views/meetings/edit.js.erb
@@ -0,0 +1,5 @@
+$("#<%= @meeting.divid %>").html("<%=escape_javascript( render :partial=>"nested_form" ,:object=>@meeting)%>");
+
+
+
+
\ No newline at end of file
diff --git a/app/views/meetings/new.js.erb b/app/views/meetings/new.js.erb
new file mode 100644
index 0000000..a580664
--- /dev/null
+++ b/app/views/meetings/new.js.erb
@@ -0,0 +1,3 @@
+$("#<%= Meeting.new_divid_for(@parent) %>").replaceWith("\"><%=escape_javascript( render :partial=>"nested_form" ,:object=>@meeting) %>
");
+
+
\ No newline at end of file
diff --git a/app/views/meetings/update.js.erb b/app/views/meetings/update.js.erb
new file mode 100644
index 0000000..24d02dc
--- /dev/null
+++ b/app/views/meetings/update.js.erb
@@ -0,0 +1 @@
+$("#meeting_<%= @meeting.id %>").replaceWith("<%=escape_javascript( render :partial=>"meeting", :object=>@meeting)%>");
diff --git a/app/views/themen/_small.html.erb b/app/views/themen/_small.html.erb
index ef43568..9fcb36a 100644
--- a/app/views/themen/_small.html.erb
+++ b/app/views/themen/_small.html.erb
@@ -22,6 +22,9 @@
<% end %>
<% unless small.meetings.empty? %>
Treffen/Sitzungen
+<%= link_to "Neues Meeting", new_meeting_path(:parent_id=>small.id, :parent_type=>"Thema"), :remote=>true %>
+
+
<% small.meetings.each do |m| %>
<%= render m %>
@@ -31,6 +34,8 @@
<% unless small.documents.empty? %>
Dokumente
+<%= link_to "Neues Dokument", new_document_path(:parent_id=>small.id, :parent_type=>"Thema"), :remote=>true %>
+
<% small.documents.each do |d| %>
<%= render d %>