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