##// END OF EJS Templates
[#20288] Update styles to match CodeRay 1.1.0 (preserving changes of r10132)....
[#20288] Update styles to match CodeRay 1.1.0 (preserving changes of r10132). This commit updates the CSS styles to match with CodeRay 1.1.0, while it preserves the custom changes applied in r10132. The CSS styles were still based on CodeRay 1.0.6 (included since Redmine 1.4.0) with the custom changes from r10132 (included since Redmine 2.1.0). Redmine 2.3.2 till 2.3.4 came with CodeRay 1.0.9, an upgrade that didn't needed changes in the CSS styles. Starting with 2.4.0 Redmine comes with CodeRay 1.1.0, a minor upgrade that came with new/changed token_kinds and lots of changes in the alpha stylesheet, that in turn is used as a base for Redmine's own CodeRay CSS styles. As such, this upgrade needed CSS stylesheet changes like done before in r7618 and r7623 (for 1.0.0 upgrade) and r9389 (for 1.0.6 upgrade). But these changes, plus an update of the Redmine core documentation that is shipped along the core (wiki_syntax_detailed_[markdown|textile].html), aren't integrated up untill today. Contributed by Mischa The Evil. git-svn-id: http://svn.redmine.org/redmine/trunk@14488 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r13504:e3618bdbecd9
r14106:6fbb56e55735
Show More
wiki_content.rb
168 lines | 5.6 KiB | text/x-ruby | RubyLexer
Toshi MARUYAMA
fix typo "RedMine" at app/models/wiki_content.rb...
r9182 # Redmine - project management software
Jean-Philippe Lang
Copyright update....
r13490 # Copyright (C) 2006-2015 Jean-Philippe Lang
Jean-Philippe Lang
wiki branch merged into trunk...
r320 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
Toshi MARUYAMA
remove trailing white-spaces from WikiContent model source....
r5675 #
Jean-Philippe Lang
wiki branch merged into trunk...
r320 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Toshi MARUYAMA
remove trailing white-spaces from WikiContent model source....
r5675 #
Jean-Philippe Lang
wiki branch merged into trunk...
r320 # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require 'zlib'
class WikiContent < ActiveRecord::Base
Jean-Philippe Lang
set_table_name and set_locking_column are deprecated....
r9367 self.locking_column = 'version'
Jean-Philippe Lang
Removed unneeded :foreign_key option on belongs_to associations....
r13102 belongs_to :page, :class_name => 'WikiPage'
belongs_to :author, :class_name => 'User'
Jean-Philippe Lang
wiki branch merged into trunk...
r320 validates_presence_of :text
Jean-Philippe Lang
Follows r2720 (#3308)....
r2628 validates_length_of :comments, :maximum => 255, :allow_nil => true
Jean-Philippe Lang
Merged rails-4.1 branch (#14534)....
r13100 attr_protected :id
Toshi MARUYAMA
remove trailing white-spaces from WikiContent model source....
r5675
Jean-Philippe Lang
wiki branch merged into trunk...
r320 acts_as_versioned
Toshi MARUYAMA
remove trailing white-spaces from WikiContent model source....
r5675
Jean-Philippe Lang
Use AR callbacks instead of observers (removed in Rails4) for notifications....
r11791 after_save :send_notification
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 def visible?(user=User.current)
page.visible?(user)
end
Toshi MARUYAMA
remove trailing white-spaces from WikiContent model source....
r5675
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 def project
page.project
end
Toshi MARUYAMA
remove trailing white-spaces from WikiContent model source....
r5675
Jean-Philippe Lang
Makes the wiki sidebar editable (#5208)....
r3518 def attachments
page.nil? ? [] : page.attachments
end
Toshi MARUYAMA
remove trailing white-spaces from WikiContent model source....
r5675
Jean-Philippe Lang
Add support for multiple email addresses per user (#4244)....
r13504 def notified_users
project.notified_users.reject {|user| !visible?(user)}
end
Toshi MARUYAMA
fix typos of source comments at WikiContent model...
r12783 # Returns the mail addresses of users that should be notified
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 def recipients
Jean-Philippe Lang
Add support for multiple email addresses per user (#4244)....
r13504 notified_users.collect(&:mail)
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 end
Toshi MARUYAMA
remove trailing white-spaces from WikiContent model source....
r5675
Jean-Philippe Lang
Adds #current_version? method to wiki content....
r7852 # Return true if the content is the current page content
def current_version?
true
end
Jean-Philippe Lang
wiki branch merged into trunk...
r320 class Version
Jean-Philippe Lang
Removed unneeded :foreign_key option on belongs_to associations....
r13102 belongs_to :page, :class_name => '::WikiPage'
belongs_to :author, :class_name => '::User'
Jean-Philippe Lang
wiki branch merged into trunk...
r320 attr_protected :data
Jean-Philippe Lang
Merged 0.6 branch into trunk....
r663
acts_as_event :title => Proc.new {|o| "#{l(:label_wiki_edit)}: #{o.page.title} (##{o.version})"},
:description => :comments,
:datetime => :updated_on,
Jean-Philippe Lang
Add an icon to each event on the activity view....
r1327 :type => 'wiki-page',
Jean-Philippe Lang
Group events in the activity view (#12542)....
r10724 :group => :page,
Eric Davis
Refactor: use :id instead of :page when linking to Wiki Pages...
r4182 :url => Proc.new {|o| {:controller => 'wiki', :action => 'show', :project_id => o.page.wiki.project, :id => o.page.title, :version => o.version}}
Jean-Philippe Lang
Merged 0.6 branch into trunk....
r663
Jean-Philippe Lang
Adds a permission 'view wiki edits' so that wiki history can be hidden to certain users (#1154)....
r1813 acts_as_activity_provider :type => 'wiki_edits',
Jean-Philippe Lang
Activity refactoring....
r1692 :timestamp => "#{WikiContent.versioned_table_name}.updated_on",
Jean-Philippe Lang
Display latest user's activity on account/show view....
r2064 :author_key => "#{WikiContent.versioned_table_name}.author_id",
Jean-Philippe Lang
Adds a permission 'view wiki edits' so that wiki history can be hidden to certain users (#1154)....
r1813 :permission => :view_wiki_edits,
Jean-Philippe Lang
Merged rails-4.1 branch (#14534)....
r13100 :scope => select("#{WikiContent.versioned_table_name}.updated_on, #{WikiContent.versioned_table_name}.comments, " +
"#{WikiContent.versioned_table_name}.#{WikiContent.version_column}, #{WikiPage.table_name}.title, " +
"#{WikiContent.versioned_table_name}.page_id, #{WikiContent.versioned_table_name}.author_id, " +
"#{WikiContent.versioned_table_name}.id").
joins("LEFT JOIN #{WikiPage.table_name} ON #{WikiPage.table_name}.id = #{WikiContent.versioned_table_name}.page_id " +
"LEFT JOIN #{Wiki.table_name} ON #{Wiki.table_name}.id = #{WikiPage.table_name}.wiki_id " +
"LEFT JOIN #{Project.table_name} ON #{Project.table_name}.id = #{Wiki.table_name}.project_id")
Jean-Philippe Lang
Activity refactoring....
r1692
Jean-Philippe Lang
Ability to delete a version from a wiki page history (#10852)....
r10493 after_destroy :page_update_after_destroy
Jean-Philippe Lang
wiki branch merged into trunk...
r320 def text=(plain)
case Setting.wiki_compression
when 'gzip'
begin
self.data = Zlib::Deflate.deflate(plain, Zlib::BEST_COMPRESSION)
self.compression = 'gzip'
rescue
self.data = plain
self.compression = ''
end
else
self.data = plain
self.compression = ''
end
plain
end
Toshi MARUYAMA
remove trailing white-spaces from WikiContent model source....
r5675
Jean-Philippe Lang
wiki branch merged into trunk...
r320 def text
Jean-Philippe Lang
WikiContent::Version#text may return ascii-8bit encoded string (#10590)....
r9195 @text ||= begin
str = case compression
when 'gzip'
Zlib::Inflate.inflate(data)
else
# uncompressed data
data
end
Jean-Philippe Lang
Merged rails-4.1 branch (#14534)....
r13100 str.force_encoding("UTF-8")
Toshi MARUYAMA
Ruby 1.9: fix encoding error on wiki diffs (#4050)...
r7807 str
Toshi MARUYAMA
remove trailing white-spaces from WikiContent model source....
r5675 end
Jean-Philippe Lang
wiki branch merged into trunk...
r320 end
Toshi MARUYAMA
remove trailing white-spaces from WikiContent model source....
r5675
Jean-Philippe Lang
Activity enhancements:...
r1213 def project
page.project
end
Toshi MARUYAMA
remove trailing white-spaces from WikiContent model source....
r5675
Jean-Philippe Lang
Adds #current_version? method to wiki content....
r7852 # Return true if the content is the current page content
def current_version?
page.content.version == self.version
end
Jean-Philippe Lang
Added wiki annotate view. It's accessible for each version from the page history view. ...
r1007 # Returns the previous version or nil
def previous
Jean-Philippe Lang
Handle deleted wiki page versions (#10852)....
r10473 @previous ||= WikiContent::Version.
reorder('version DESC').
includes(:author).
where("wiki_content_id = ? AND version < ?", wiki_content_id, version).first
end
# Returns the next version or nil
def next
@next ||= WikiContent::Version.
reorder('version ASC').
includes(:author).
where("wiki_content_id = ? AND version > ?", wiki_content_id, version).first
Jean-Philippe Lang
Added wiki annotate view. It's accessible for each version from the page history view. ...
r1007 end
Jean-Philippe Lang
Ability to delete a version from a wiki page history (#10852)....
r10493
private
# Updates page's content if the latest version is removed
# or destroys the page if it was the only version
def page_update_after_destroy
latest = page.content.versions.reorder("#{self.class.table_name}.version DESC").first
if latest && page.content.version != latest.version
raise ActiveRecord::Rollback unless page.content.revert_to!(latest)
elsif latest.nil?
raise ActiveRecord::Rollback unless page.destroy
end
end
Jean-Philippe Lang
wiki branch merged into trunk...
r320 end
Jean-Philippe Lang
Use AR callbacks instead of observers (removed in Rails4) for notifications....
r11791
private
def send_notification
# new_record? returns false in after_save callbacks
if id_changed?
if Setting.notified_events.include?('wiki_content_added')
Mailer.wiki_content_added(self).deliver
end
elsif text_changed?
if Setting.notified_events.include?('wiki_content_updated')
Mailer.wiki_content_updated(self).deliver
end
end
end
Jean-Philippe Lang
wiki branch merged into trunk...
r320 end