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
|
||||
page = Page.first
|
||||
impressionist(page)
|
||||
OrbitHelper.set_params params
|
||||
OrbitHelper.set_params params,current_user
|
||||
OrbitHelper.set_site_locale locale
|
||||
render :html => render_final_page("home",page,true).html_safe
|
||||
end
|
||||
|
@ -76,7 +76,7 @@ class PagesController < ApplicationController
|
|||
params[:url] = page.url
|
||||
|
||||
@manifest = @key
|
||||
OrbitHelper.set_params params
|
||||
OrbitHelper.set_params params,current_user
|
||||
OrbitHelper.set_site_locale locale
|
||||
OrbitHelper.set_this_module_app module_app.singularize
|
||||
OrbitHelper.set_page_categories page.categories || []
|
||||
|
|
|
@ -166,6 +166,15 @@ module ApplicationHelper
|
|||
|
||||
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)
|
||||
newhtml = []
|
||||
oldhtml = []
|
||||
|
@ -173,11 +182,12 @@ module ApplicationHelper
|
|||
html_to_render = ""
|
||||
data_name = el.attr("data-list")
|
||||
wrap_elements = el.css("*[data-list][data-level='#{level}']")
|
||||
if d["#{data_name}"]
|
||||
d["#{data_name}"].each_with_index do |item,i|
|
||||
if d[data_name]
|
||||
d[data_name].each_with_index do |item,i|
|
||||
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
|
||||
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|
|
||||
element = element.gsub(html,htmls[1][i])
|
||||
end
|
||||
|
@ -299,6 +309,7 @@ module ApplicationHelper
|
|||
html = html.gsub("{{#{key}}}",value.to_s)
|
||||
html = html.gsub("%7B%7B#{key}%7D%7D",value.to_s)
|
||||
end
|
||||
html = render_link_to_edit(html, data["url_to_edit"]) if !data["url_to_edit"].nil?
|
||||
html.html_safe
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module OrbitHelper
|
||||
def self.set_params(params)
|
||||
def self.set_params(params,current_user)
|
||||
@params = params
|
||||
@current_user = current_user
|
||||
end
|
||||
|
||||
def self.set_page_categories(categories)
|
||||
|
@ -54,6 +55,10 @@ module OrbitHelper
|
|||
@sort_position
|
||||
end
|
||||
|
||||
def self.current_user
|
||||
@current_user
|
||||
end
|
||||
|
||||
def self.page_for_tag(tag)
|
||||
page_for_tag = nil
|
||||
pages = Page.where(:module => @module_app.key)
|
||||
|
@ -120,6 +125,26 @@ module OrbitHelper
|
|||
@tags
|
||||
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
|
||||
@params
|
||||
end
|
||||
|
|
|
@ -41,6 +41,9 @@
|
|||
<a href="https://twitter.com/share" class="twitter-share-button" data-dnt="true" data-count="none">Tweet</a>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
{{link_to_edit}}
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
</dl>
|
||||
</dl>
|
||||
</div>
|
||||
{{link_to_edit}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -15,4 +15,6 @@
|
|||
<div class="post-related" data-list="faqs_links" data-level="0">
|
||||
<a href="{{link_url}}" target="_blank">{{link_title}}</a><br/>
|
||||
</div>
|
||||
</article>
|
||||
</article>
|
||||
|
||||
{{link_to_edit}}
|
Loading…
Reference in New Issue