##// END OF EJS Templates
Ability to accept incoming emails from unknown users (#2230, #3003)....
Ability to accept incoming emails from unknown users (#2230, #3003). An option lets you specify how to handle emails from unknown users: * ignore: the email is ignored (previous and default behaviour) * accept: the sender is considered as an anonymous user * create: a user account is created (username/password are sent back to the user) Permissions have to be consistent with the chosen option. Eg. if you choose 'create', the 'Non member' role must have the 'Add issues' permission so that an issue can be created by an unknown user via email. If you choose 'accept', the 'Anonymous' role must have this permission. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2789 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r1785:f7acdd1afde3
r2689:b3afde14fa60
Show More
plugins.rake
38 lines | 1.2 KiB | text/x-ruby | RubyLexer
require 'source_annotation_extractor'
# Modified version of the SourceAnnotationExtractor in railties
# Will search for runable code that uses <tt>call_hook</tt>
class PluginSourceAnnotationExtractor < SourceAnnotationExtractor
# Returns a hash that maps filenames under +dir+ (recursively) to arrays
# with their annotations. Only files with annotations are included, and only
# those with extension +.builder+, +.rb+, +.rxml+, +.rjs+, +.rhtml+, and +.erb+
# are taken into account.
def find_in(dir)
results = {}
Dir.glob("#{dir}/*") do |item|
next if File.basename(item)[0] == ?.
if File.directory?(item)
results.update(find_in(item))
elsif item =~ /(hook|test)\.rb/
# skip
elsif item =~ /\.(builder|(r(?:b|xml|js)))$/
results.update(extract_annotations_from(item, /\s*(#{tag})\(?\s*(.*)$/))
elsif item =~ /\.(rhtml|erb)$/
results.update(extract_annotations_from(item, /<%=\s*\s*(#{tag})\(?\s*(.*?)\s*%>/))
end
end
results
end
end
namespace :redmine do
namespace :plugins do
desc "Enumerate all Redmine plugin hooks and their context parameters"
task :hook_list do
PluginSourceAnnotationExtractor.enumerate 'call_hook'
end
end
end