From 20c320961f53a6a0092616c7ea55f35e697e43d0 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 23 Feb 2012 15:13:36 +0800 Subject: [PATCH] edit page_content --- lib/parsers/parser_back_end.rb | 3 +- lib/parsers/parser_front_end.rb | 3 +- .../back_end/page_contexts_controller.rb | 27 ++++++++++++-- .../front_end/page_contexts_controller.rb | 19 ++++++++++ .../page_content/app/models/page_context.rb | 11 ++---- .../back_end/page_contexts/_form.html.erb | 19 +++++----- .../page_contexts/_page_context.html.erb | 13 +------ .../page_contexts/_view_page_context.html.erb | 10 ++++++ .../back_end/page_contexts/index.html.erb | 1 - .../back_end/page_contexts/show.html.erb | 28 +++++++++++++++ .../back_end/page_contexts/view.html.erb | 36 +++++++++++++++++++ .../front_end/page_contexts/index.html.erb | 8 +++++ .../page_content/config/routes.rb | 6 ++++ 13 files changed, 151 insertions(+), 33 deletions(-) create mode 100644 vendor/built_in_modules/page_content/app/controllers/panel/page_content/front_end/page_contexts_controller.rb create mode 100644 vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/_view_page_context.html.erb create mode 100644 vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/show.html.erb create mode 100644 vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/view.html.erb create mode 100644 vendor/built_in_modules/page_content/app/views/panel/page_content/front_end/page_contexts/index.html.erb diff --git a/lib/parsers/parser_back_end.rb b/lib/parsers/parser_back_end.rb index a50a537d..dddc27a9 100644 --- a/lib/parsers/parser_back_end.rb +++ b/lib/parsers/parser_back_end.rb @@ -98,7 +98,8 @@ module ParserBackEnd c.define_tag 'content' do |tag| ret = '' if (tag.attributes["main"] == "true" && !page.module_app.nil?) - ret << "
" + # ret << "
" + ret << "
" else part = page.page_parts.detect{ |p| p.name.to_s == tag.attr['name'].to_s } ret << "
" diff --git a/lib/parsers/parser_front_end.rb b/lib/parsers/parser_front_end.rb index 6a1a88e4..2b9f3a4f 100644 --- a/lib/parsers/parser_front_end.rb +++ b/lib/parsers/parser_front_end.rb @@ -124,7 +124,8 @@ module ParserFrontEnd if (tag.attributes["main"] == "true" && !page.module_app.nil?) ret << "
" + # ret << "?inner=true'>
" + ret << "?inner=true&page_id=#{page.id}'>" else part = page.page_parts.detect{ |p| p.name.to_s == tag.attr['name'].to_s } rescue nil case part.kind diff --git a/vendor/built_in_modules/page_content/app/controllers/panel/page_content/back_end/page_contexts_controller.rb b/vendor/built_in_modules/page_content/app/controllers/panel/page_content/back_end/page_contexts_controller.rb index b51e3559..efde60c8 100644 --- a/vendor/built_in_modules/page_content/app/controllers/panel/page_content/back_end/page_contexts_controller.rb +++ b/vendor/built_in_modules/page_content/app/controllers/panel/page_content/back_end/page_contexts_controller.rb @@ -1,14 +1,24 @@ class Panel::PageContent::BackEnd::PageContextsController < ApplicationController - layout 'admin' + layout 'new_admin' before_filter :authenticate_user! before_filter :is_admin? def index - @page_contexts = PageContext.all + @page_contexts = PageContext.where(:archived => false).desc(:updated_at) + + respond_to do |format| + format.html # index.html.erb + format.xml { render :xml => @page_contexts } + end + end + + def view + + @page_contexts = PageContext.where("page_id" => params[:page_id]).desc(:updated_at) respond_to do |format| format.html # index.html.erb @@ -68,10 +78,23 @@ class Panel::PageContent::BackEnd::PageContextsController < ApplicationControlle def update @page_context = PageContext.find(params[:id]) + if ( @page_context.version > 0 ) + @create_page_context = PageContext.new(:version => @page_context.version) + @create_page_context = @page_context.clone + @create_page_context.context = @page_context.context.clone + @create_page_context.archived = true + end + @page_context.update_user_id = current_user.id + @page_context.version = @page_context.version + 1 respond_to do |format| if @page_context.update_attributes(params[:page_context]) + + if ( @page_context.version > 1 ) + @create_page_context.save + end + format.html { redirect_to(panel_page_content_back_end_page_contexts_url, :notice => t('page_content.update_page_content_success')) } format.js { render 'toggle_enable' } format.xml { head :ok } diff --git a/vendor/built_in_modules/page_content/app/controllers/panel/page_content/front_end/page_contexts_controller.rb b/vendor/built_in_modules/page_content/app/controllers/panel/page_content/front_end/page_contexts_controller.rb new file mode 100644 index 00000000..8b750dcc --- /dev/null +++ b/vendor/built_in_modules/page_content/app/controllers/panel/page_content/front_end/page_contexts_controller.rb @@ -0,0 +1,19 @@ +class Panel::PageContent::FrontEnd::PageContextsController < ObitWidgetController + + def initialize + super + @app_title = NewBlog::MOUDLEAPP_TITLE + end + + def index + + # @page_context = PageContext.where("page_id" => params[:page_id], :archived => false) + @page_context = PageContext.first(conditions: { page_id: params[:page_id], :archived => false }) + + respond_to do |format| + format.html # index.html.erb + format.xml { render :xml => @page_contexts } + end + end + +end diff --git a/vendor/built_in_modules/page_content/app/models/page_context.rb b/vendor/built_in_modules/page_content/app/models/page_context.rb index dcd8452a..5c096711 100644 --- a/vendor/built_in_modules/page_content/app/models/page_context.rb +++ b/vendor/built_in_modules/page_content/app/models/page_context.rb @@ -10,11 +10,10 @@ class PageContext field :create_user_id field :update_user_id - field :version, :type => Integer , :default => 1 + field :version, :type => Integer , :default => 0 - field :is_top, :type => Boolean, :default => false - field :is_hot, :type => Boolean, :default => false - field :is_hidden, :type => Boolean, :default => false + field :archived, :type => Boolean, :default => false + # field :current, :type => Boolean, :default => false belongs_to :page @@ -22,8 +21,4 @@ class PageContext self.is_top end - def context - @context ||= I18nVariable.first(:conditions => {:key => 'context', :language_value_id => self.id, :language_value_type => self.class}) rescue nil - end - end \ No newline at end of file diff --git a/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/_form.html.erb b/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/_form.html.erb index b7d48360..e5c7fc45 100644 --- a/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/_form.html.erb +++ b/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/_form.html.erb @@ -20,17 +20,20 @@ <% end %> -
- <%= f.label :status %>
- <%= f.check_box :is_top %><%= t('top') %> - <%= f.check_box :is_hot %><%= t('hot') %> - <%= f.check_box :is_hidden %><%= t('hidden') %> -
-

<%= f.submit %>
- \ No newline at end of file + + +<% content_for :page_specific_javascript do %> + +<% end %> \ No newline at end of file diff --git a/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/_page_context.html.erb b/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/_page_context.html.erb index 261af4c4..c1d86fe1 100644 --- a/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/_page_context.html.erb +++ b/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/_page_context.html.erb @@ -1,18 +1,7 @@ - - <% if page_context.is_top? %> - <%= t(:top) %> - <% end %> - <% if page_context.is_hot? %> - <%= t(:hot) %> - <% end %> - <% if page_context.is_hidden? %> - <%= t(:hidden) %> - <% end %> - <%= page_context.page.i18n_variable[I18n.locale] %> - <%= page_context.version %> + <%= link_to page_context.version, panel_page_content_back_end_view_path(page_context.page_id) %> <%= page_context.updated_at.strftime("%Y-%m-%d %H:%I:%S") %> <%= User.find(page_context.create_user_id).name %> diff --git a/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/_view_page_context.html.erb b/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/_view_page_context.html.erb new file mode 100644 index 00000000..db23a280 --- /dev/null +++ b/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/_view_page_context.html.erb @@ -0,0 +1,10 @@ + + + <%= view_page_context.page.i18n_variable[I18n.locale] %> + <%= view_page_context.version %> + <%= view_page_context.updated_at.strftime("%Y-%m-%d %H:%I:%S") %> + <%= User.find(view_page_context.create_user_id).name %> + + <%= link_to t('view_page_context.show'), panel_page_content_back_end_page_context_path(view_page_context) %> + + diff --git a/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/index.html.erb b/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/index.html.erb index 17f4f771..a1566881 100644 --- a/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/index.html.erb +++ b/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/index.html.erb @@ -21,7 +21,6 @@ - diff --git a/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/show.html.erb b/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/show.html.erb new file mode 100644 index 00000000..a75bcc8c --- /dev/null +++ b/vendor/built_in_modules/page_content/app/views/panel/page_content/back_end/page_contexts/show.html.erb @@ -0,0 +1,28 @@ +<% # encoding: utf-8 %> + +
+
+
+ +

<%= flash_messages %>

+ +
<%= t('page_context.status') %> <%= t('page_context.name') %> <%= t('page_context.version') %> <%= t('page_context.update_time') %>
+ + + + + + + + + <%= render :partial => 'view_page_context', :collection => @page_contexts %> + +
<%= t('page_context.name') %><%= t('page_context.version') %><%= t('page_context.update_time') %><%= t('page_context.last_modified') %><%= t('page_context.action') %>
+ +
+ diff --git a/vendor/built_in_modules/page_content/app/views/panel/page_content/front_end/page_contexts/index.html.erb b/vendor/built_in_modules/page_content/app/views/panel/page_content/front_end/page_contexts/index.html.erb new file mode 100644 index 00000000..0a9e93eb --- /dev/null +++ b/vendor/built_in_modules/page_content/app/views/panel/page_content/front_end/page_contexts/index.html.erb @@ -0,0 +1,8 @@ +<% # encoding: utf-8 %> + + +

<%= flash_messages %>

+ +

<%= @page_context.page.i18n_variable[I18n.locale] %>

+ +
<%= @page_context.context[I18n.locale].html_safe %>
diff --git a/vendor/built_in_modules/page_content/config/routes.rb b/vendor/built_in_modules/page_content/config/routes.rb index 2372f2af..c1029c15 100644 --- a/vendor/built_in_modules/page_content/config/routes.rb +++ b/vendor/built_in_modules/page_content/config/routes.rb @@ -5,6 +5,12 @@ Rails.application.routes.draw do namespace :back_end do root :to => "page_contexts#index" resources :page_contexts + match "view/:page_id" => "page_contexts#view" ,:as => :view + end + namespace :front_end do + root :to => "page_contexts#index" + resources :page_contexts + match "page_contexts/:page_id" => "page_contexts#index" end end end