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
 | 
			
		||||
  	@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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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>
 | 
			
		||||
<p>Find me in app/views/admin/page_contents/index.html.erb</p>
 | 
			
		||||
<table class="table main-list">
 | 
			
		||||
	<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
 | 
			
		||||
   namespace :admin do
 | 
			
		||||
      resources :page_contents
 | 
			
		||||
      resources :page_contents do
 | 
			
		||||
      	member do 
 | 
			
		||||
      		get "view" => "page_contents#view"
 | 
			
		||||
      	end
 | 
			
		||||
      end
 | 
			
		||||
   end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,7 +10,7 @@ module PageContent
 | 
			
		|||
        side_bar do
 | 
			
		||||
          head_label_i18n 'page_content.page', icon_class: "icons-newspaper"
 | 
			
		||||
          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"
 | 
			
		||||
      	end
 | 
			
		||||
      end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue