page module or orbit 4.5 working fine
This commit is contained in:
		
							parent
							
								
									90ce30d3ea
								
							
						
					
					
						commit
						4e9968f58f
					
				| 
						 | 
					@ -1,4 +1,34 @@
 | 
				
			||||||
class Admin::PageContentsController < ApplicationController
 | 
					class Admin::PageContentsController < OrbitAdminController
 | 
				
			||||||
  def index
 | 
					  def index
 | 
				
			||||||
 | 
					  	@pages = Page.where(:module=>"page_content")
 | 
				
			||||||
 | 
					    @table_fields = ["Name","Version","Updated At","Last Modified By"]
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def show
 | 
				
			||||||
 | 
					    @page_context = PageContext.find(params[:id])
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def new
 | 
				
			||||||
 | 
					  	@page = Page.find(params[:page_id])
 | 
				
			||||||
 | 
					  	@page_content = PageContext.new
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def create
 | 
				
			||||||
 | 
					  	@page_content = PageContext.new(update_params)
 | 
				
			||||||
 | 
					    @page_content.update_user_id = current_user.id
 | 
				
			||||||
 | 
					  	@page_content.save
 | 
				
			||||||
 | 
					  	redirect_to admin_page_contents_path
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def view
 | 
				
			||||||
 | 
					    @table_fields = ["Name","Version","Updated At","Last Modified By"]
 | 
				
			||||||
 | 
					    @page = Page.find(params[:id])
 | 
				
			||||||
 | 
					    @page_contexts = @page.page_contexts.desc(:version)
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  private 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def update_params
 | 
				
			||||||
 | 
					  	params.require(:page_context).permit!
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					class PageContentsController < OrbitAdminController
 | 
				
			||||||
 | 
						def index
 | 
				
			||||||
 | 
							params = OrbitHelper.params
 | 
				
			||||||
 | 
							page = Page.where(:page_id => params[:page_id]).first
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"html" => page.page_contexts.last.content
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,27 @@
 | 
				
			||||||
 | 
					# encoding: utf-8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class PageContext
 | 
				
			||||||
 | 
					  include Mongoid::Document
 | 
				
			||||||
 | 
					  include Mongoid::Timestamps
 | 
				
			||||||
 | 
					  include Impressionist::Impressionable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  is_impressionable :counter_cache => { :column_name => :view_count }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  field :update_user_id
 | 
				
			||||||
 | 
					  field :version, :type => Integer , :default => 0
 | 
				
			||||||
 | 
					  field :view_count, :type => Integer, :default => 0
 | 
				
			||||||
 | 
					  field :content, localize: true
 | 
				
			||||||
 | 
					  field :archived, :type => Boolean, :default => false
 | 
				
			||||||
 | 
					  # field :current, :type => Boolean, :default => false
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  belongs_to :page
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  def pp_object
 | 
				
			||||||
 | 
					    page.title
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def title
 | 
				
			||||||
 | 
					    self.page.title
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -1,2 +1,27 @@
 | 
				
			||||||
<h1>Admin::PageContents#index</h1>
 | 
					<table class="table main-list">
 | 
				
			||||||
<p>Find me in app/views/admin/page_contents/index.html.erb</p>
 | 
						<thead>
 | 
				
			||||||
 | 
							<tr class="sort-header">
 | 
				
			||||||
 | 
							<% @table_fields.each do |f| %>
 | 
				
			||||||
 | 
								<%= thead(f) %>
 | 
				
			||||||
 | 
							<% end %>
 | 
				
			||||||
 | 
							</tr>
 | 
				
			||||||
 | 
						</thead>
 | 
				
			||||||
 | 
						<tbody>
 | 
				
			||||||
 | 
						<% @pages.each do |page| %>
 | 
				
			||||||
 | 
							<tr>
 | 
				
			||||||
 | 
								<td>
 | 
				
			||||||
 | 
									<a href="/<%= I18n.locale %><%= page.url %>" target="_blank"><%= page.name %></a>
 | 
				
			||||||
 | 
									<div class="quick-edit">
 | 
				
			||||||
 | 
										<ul class="nav nav-pills">
 | 
				
			||||||
 | 
											<li><a href="/admin/page_contents/new?page_id=<%= page.id.to_s %>"><%= t(:edit) %></a></li>
 | 
				
			||||||
 | 
										</ul>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</td>
 | 
				
			||||||
 | 
								<td><a href="/admin/page_contents/<%= page.id.to_s %>/view" ><%= page.page_contexts.last.version %></a></td>
 | 
				
			||||||
 | 
								<td><%= format_value page.page_contexts.last.updated_at %></td>
 | 
				
			||||||
 | 
								<td><%= User.find(page.page_contexts.last.update_user_id).user_name %></td>
 | 
				
			||||||
 | 
							</tr>
 | 
				
			||||||
 | 
						<% end %>
 | 
				
			||||||
 | 
						</tbody>
 | 
				
			||||||
 | 
					</table>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,40 @@
 | 
				
			||||||
 | 
					<% content_for :page_specific_css do %>
 | 
				
			||||||
 | 
					  <%= stylesheet_link_tag "lib/main-forms" %>
 | 
				
			||||||
 | 
					<% end %>
 | 
				
			||||||
 | 
					<%= form_for @page_content, :url => {:action => :create}, :html => {:class => 'form-horizontal main-forms'} do |f| %>
 | 
				
			||||||
 | 
					  <fieldset>           
 | 
				
			||||||
 | 
					    <div class="input-area">
 | 
				
			||||||
 | 
						    <div class="nav-name"><strong>Language</strong></div>
 | 
				
			||||||
 | 
					         <ul class="nav nav-pills language-nav">
 | 
				
			||||||
 | 
					          <% I18n.available_locales.each_with_index do |locale, i| %>
 | 
				
			||||||
 | 
					              <li <%= (i == 0 ? 'class=active' : '') %>>
 | 
				
			||||||
 | 
					                <a href=".<%= locale %>" data-toggle="tab"><%= t(locale.to_s) %></a>
 | 
				
			||||||
 | 
					              </li>
 | 
				
			||||||
 | 
					           <% end %>
 | 
				
			||||||
 | 
					        </ul>
 | 
				
			||||||
 | 
					      <div class="tab-content language-area">
 | 
				
			||||||
 | 
					      <!-- Language Tabs -->
 | 
				
			||||||
 | 
					        <% I18n.available_locales.each_with_index do |locale, i| %>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					             <div class="tab-pane fade in <%= (i == 0 ? 'active' : '') %> <%= locale %>">
 | 
				
			||||||
 | 
					              <div class="control-group input-content">
 | 
				
			||||||
 | 
					                 <%= f.fields_for :content_translations do |con| %>
 | 
				
			||||||
 | 
					                     <%= label_tag(locale, "Content", :class=>"control-label muted") %>
 | 
				
			||||||
 | 
					                    <div class="controls">
 | 
				
			||||||
 | 
					                      <div class="textarea">
 | 
				
			||||||
 | 
					                        <%= con.text_area locale, :class => "ckeditor input-block-level", :value => (@page.page_contexts.last.content_translations[locale] rescue nil)%>
 | 
				
			||||||
 | 
					                      </div>
 | 
				
			||||||
 | 
					                    </div>
 | 
				
			||||||
 | 
					                <% end %>
 | 
				
			||||||
 | 
					              </div>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        <% end %>
 | 
				
			||||||
 | 
					    	  </div>
 | 
				
			||||||
 | 
						     <div class="form-actions">
 | 
				
			||||||
 | 
						     	<%= f.hidden_field :page_id, :value=>@page.id.to_s %>
 | 
				
			||||||
 | 
						     	<%= f.hidden_field :version, :value=>(@page.page_contexts.last.version + 1)%>
 | 
				
			||||||
 | 
						        <%= f.submit t("page_content.save"), :class=> "btn btn-primary bt-form-save" %>
 | 
				
			||||||
 | 
						      </div>
 | 
				
			||||||
 | 
					     </div>
 | 
				
			||||||
 | 
					  </fieldset>
 | 
				
			||||||
 | 
					<% end %>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					<%= @page_context.content.html_safe %>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,28 @@
 | 
				
			||||||
 | 
					<table class="table main-list">
 | 
				
			||||||
 | 
						<thead>
 | 
				
			||||||
 | 
							<tr class="sort-header">
 | 
				
			||||||
 | 
							<% @table_fields.each do |f| %>
 | 
				
			||||||
 | 
								<%= thead(f) %>
 | 
				
			||||||
 | 
							<% end %>
 | 
				
			||||||
 | 
							</tr>
 | 
				
			||||||
 | 
						</thead>
 | 
				
			||||||
 | 
						<tbody>
 | 
				
			||||||
 | 
						<% @page_contexts.each do |page| %>
 | 
				
			||||||
 | 
							<% if page.version > 0 %>
 | 
				
			||||||
 | 
								<tr>
 | 
				
			||||||
 | 
									<td>
 | 
				
			||||||
 | 
										<%= @page.name %>
 | 
				
			||||||
 | 
										<div class="quick-edit">
 | 
				
			||||||
 | 
											<ul class="nav nav-pills">
 | 
				
			||||||
 | 
												<li><a href="/admin/page_contents/<%= page.id.to_s %>"><%= t(:show) %></a></li>
 | 
				
			||||||
 | 
											</ul>
 | 
				
			||||||
 | 
										</div>
 | 
				
			||||||
 | 
									</td>
 | 
				
			||||||
 | 
									<td><%= page.version %></td>
 | 
				
			||||||
 | 
									<td><%= format_value page.updated_at %></td>
 | 
				
			||||||
 | 
									<td><%= User.find(page.update_user_id).user_name rescue nil %></td>
 | 
				
			||||||
 | 
								</tr>
 | 
				
			||||||
 | 
							<% end %>
 | 
				
			||||||
 | 
						<% end %>
 | 
				
			||||||
 | 
						</tbody>
 | 
				
			||||||
 | 
					</table>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,2 @@
 | 
				
			||||||
 | 
					<% data = action_data %>
 | 
				
			||||||
 | 
					<%= data["html"].html_safe %>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,10 @@
 | 
				
			||||||
 | 
					en:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  page_content:
 | 
				
			||||||
 | 
					    page: Page content
 | 
				
			||||||
 | 
					    save: Save
 | 
				
			||||||
 | 
					    create_page_content_success: Page content was successfully created
 | 
				
			||||||
 | 
					    editing_page_content: Editing page content
 | 
				
			||||||
 | 
					    frontend:
 | 
				
			||||||
 | 
					      page: Front-end page
 | 
				
			||||||
 | 
					    update_page_content_success: Page content was successfully updated
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					zh_tw:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  page_content:
 | 
				
			||||||
 | 
					    context: 內文
 | 
				
			||||||
 | 
					    create_page_content_success: 建立頁面內容成功
 | 
				
			||||||
 | 
					    editing_page_content: 編輯頁面內容
 | 
				
			||||||
 | 
					    frontend:
 | 
				
			||||||
 | 
					      page: 頁面前台
 | 
				
			||||||
 | 
					    update_page_content_success: 更新頁面內容成功
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,11 @@ Rails.application.routes.draw do
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  scope "(:locale)", locale: Regexp.new(locales.join("|")) do
 | 
					  scope "(:locale)", locale: Regexp.new(locales.join("|")) do
 | 
				
			||||||
   namespace :admin do
 | 
					   namespace :admin do
 | 
				
			||||||
      resources :page_contents
 | 
					      resources :page_contents do
 | 
				
			||||||
 | 
					      	member do 
 | 
				
			||||||
 | 
					      		get "view" => "page_contents#view"
 | 
				
			||||||
 | 
					      	end
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
   end
 | 
					   end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,7 +10,7 @@ module PageContent
 | 
				
			||||||
        side_bar do
 | 
					        side_bar do
 | 
				
			||||||
          head_label_i18n 'page_content.page', icon_class: "icons-newspaper"
 | 
					          head_label_i18n 'page_content.page', icon_class: "icons-newspaper"
 | 
				
			||||||
          available_for [:admin,:manager,:sub_manager]
 | 
					          available_for [:admin,:manager,:sub_manager]
 | 
				
			||||||
          active_for_controllers ({:private=>['page_content']})
 | 
					          active_for_controllers (['admin/page_contents'])
 | 
				
			||||||
          head_link_path "admin_page_contents_path"
 | 
					          head_link_path "admin_page_contents_path"
 | 
				
			||||||
      	end
 | 
					      	end
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue