forked from saurabh/orbit4-5
Add link_to_edit for modules frontend(Announcement, Archive, Faq, PageContent)
This commit is contained in:
parent
ef1dda757a
commit
2ca408294e
|
@ -28,7 +28,7 @@ class PagesController < ApplicationController
|
||||||
@manifest = @key
|
@manifest = @key
|
||||||
page = Page.first
|
page = Page.first
|
||||||
impressionist(page)
|
impressionist(page)
|
||||||
OrbitHelper.set_params params
|
OrbitHelper.set_params params,current_user
|
||||||
OrbitHelper.set_site_locale locale
|
OrbitHelper.set_site_locale locale
|
||||||
render :html => render_final_page("home",page,true).html_safe
|
render :html => render_final_page("home",page,true).html_safe
|
||||||
end
|
end
|
||||||
|
@ -76,7 +76,7 @@ class PagesController < ApplicationController
|
||||||
params[:url] = page.url
|
params[:url] = page.url
|
||||||
|
|
||||||
@manifest = @key
|
@manifest = @key
|
||||||
OrbitHelper.set_params params
|
OrbitHelper.set_params params,current_user
|
||||||
OrbitHelper.set_site_locale locale
|
OrbitHelper.set_site_locale locale
|
||||||
OrbitHelper.set_this_module_app module_app.singularize
|
OrbitHelper.set_this_module_app module_app.singularize
|
||||||
OrbitHelper.set_page_categories page.categories || []
|
OrbitHelper.set_page_categories page.categories || []
|
||||||
|
|
|
@ -166,6 +166,15 @@ module ApplicationHelper
|
||||||
|
|
||||||
def render_view
|
def render_view
|
||||||
|
|
||||||
|
def render_link_to_edit(html, url_to_edit)
|
||||||
|
if html.scan("{{link_to_edit}}").length == 0
|
||||||
|
html = url_to_edit.blank? ? html : html + "<p class='admin-edit text-right'><a class='btn btn-primary' href='#{url_to_edit}'><i class='icon-edit'></i> #{t(:edit)}</a></p>"
|
||||||
|
else
|
||||||
|
html = url_to_edit.blank? ? html.gsub("{{link_to_edit}}","") : html.gsub("{{link_to_edit}}","<p class='admin-edit text-right'><a class='btn btn-primary' href='#{url_to_edit}'><i class='icon-edit'></i> #{t(:edit)}</a></p>")
|
||||||
|
end
|
||||||
|
return html
|
||||||
|
end
|
||||||
|
|
||||||
def parsing_repeats_again(elements,d,level)
|
def parsing_repeats_again(elements,d,level)
|
||||||
newhtml = []
|
newhtml = []
|
||||||
oldhtml = []
|
oldhtml = []
|
||||||
|
@ -173,11 +182,12 @@ module ApplicationHelper
|
||||||
html_to_render = ""
|
html_to_render = ""
|
||||||
data_name = el.attr("data-list")
|
data_name = el.attr("data-list")
|
||||||
wrap_elements = el.css("*[data-list][data-level='#{level}']")
|
wrap_elements = el.css("*[data-list][data-level='#{level}']")
|
||||||
if d["#{data_name}"]
|
if d[data_name]
|
||||||
d["#{data_name}"].each_with_index do |item,i|
|
d[data_name].each_with_index do |item,i|
|
||||||
element = el.inner_html
|
element = el.inner_html
|
||||||
|
element = render_link_to_edit(element, item['url_to_edit']) if !item['url_to_edit'].nil?
|
||||||
if wrap_elements.count > 0
|
if wrap_elements.count > 0
|
||||||
htmls = parsing_repeats_again(wrap_elements,d["#{data_name}"][i], level + 1)
|
htmls = parsing_repeats_again(wrap_elements,d[data_name][i], level + 1)
|
||||||
htmls[0].each_with_index do |html,i|
|
htmls[0].each_with_index do |html,i|
|
||||||
element = element.gsub(html,htmls[1][i])
|
element = element.gsub(html,htmls[1][i])
|
||||||
end
|
end
|
||||||
|
@ -299,6 +309,7 @@ module ApplicationHelper
|
||||||
html = html.gsub("{{#{key}}}",value.to_s)
|
html = html.gsub("{{#{key}}}",value.to_s)
|
||||||
html = html.gsub("%7B%7B#{key}%7D%7D",value.to_s)
|
html = html.gsub("%7B%7B#{key}%7D%7D",value.to_s)
|
||||||
end
|
end
|
||||||
|
html = render_link_to_edit(html, data["url_to_edit"]) if !data["url_to_edit"].nil?
|
||||||
html.html_safe
|
html.html_safe
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
module OrbitHelper
|
module OrbitHelper
|
||||||
def self.set_params(params)
|
def self.set_params(params,current_user)
|
||||||
@params = params
|
@params = params
|
||||||
|
@current_user = current_user
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.set_page_categories(categories)
|
def self.set_page_categories(categories)
|
||||||
|
@ -54,6 +55,10 @@ module OrbitHelper
|
||||||
@sort_position
|
@sort_position
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.current_user
|
||||||
|
@current_user
|
||||||
|
end
|
||||||
|
|
||||||
def self.page_for_tag(tag)
|
def self.page_for_tag(tag)
|
||||||
page_for_tag = nil
|
page_for_tag = nil
|
||||||
pages = Page.where(:module => @module_app.key)
|
pages = Page.where(:module => @module_app.key)
|
||||||
|
@ -120,6 +125,26 @@ module OrbitHelper
|
||||||
@tags
|
@tags
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.user_can_edit?(obj)
|
||||||
|
return false if @current_user.nil?
|
||||||
|
return true if @current_user.is_admin?
|
||||||
|
|
||||||
|
if obj.class.to_s == "PageContext"
|
||||||
|
return @current_user.is_manager?(@module_app)
|
||||||
|
else
|
||||||
|
return @current_user.nil? ? false : user_has_cateogry?(obj.category_id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.user_has_cateogry?(cat)
|
||||||
|
return false if @current_user.nil?
|
||||||
|
if @current_user.is_admin? or @current_user.is_manager?(@module_app)
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
return @current_user.approved_categories.include?cat rescue false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def self.params
|
def self.params
|
||||||
@params
|
@params
|
||||||
end
|
end
|
||||||
|
|
|
@ -41,6 +41,9 @@
|
||||||
<a href="https://twitter.com/share" class="twitter-share-button" data-dnt="true" data-count="none">Tweet</a>
|
<a href="https://twitter.com/share" class="twitter-share-button" data-dnt="true" data-count="none">Tweet</a>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
|
{{link_to_edit}}
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function() {
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
</dl>
|
</dl>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
|
{{link_to_edit}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -16,3 +16,5 @@
|
||||||
<a href="{{link_url}}" target="_blank">{{link_title}}</a><br/>
|
<a href="{{link_url}}" target="_blank">{{link_title}}</a><br/>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
|
{{link_to_edit}}
|
Loading…
Reference in New Issue