tr8n 3.2.1 → 3.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/README.rdoc +19 -13
- data/app/controllers/tr8n/base_controller.rb +5 -1
- data/app/controllers/tr8n/language_controller.rb +2 -2
- data/app/models/tr8n/base_filter.rb +21 -0
- data/app/models/tr8n/daily_language_metric.rb +46 -22
- data/app/models/tr8n/date_rule.rb +41 -22
- data/app/models/tr8n/gender_list_rule.rb +41 -22
- data/app/models/tr8n/gender_rule.rb +41 -22
- data/app/models/tr8n/glossary.rb +44 -27
- data/app/models/tr8n/glossary_filter.rb +56 -33
- data/app/models/tr8n/ip_location.rb +23 -0
- data/app/models/tr8n/ip_location_filter.rb +57 -34
- data/app/models/tr8n/language.rb +28 -0
- data/app/models/tr8n/language_case.rb +27 -0
- data/app/models/tr8n/language_case_filter.rb +53 -30
- data/app/models/tr8n/language_case_rule.rb +24 -0
- data/app/models/tr8n/language_case_rule_filter.rb +53 -30
- data/app/models/tr8n/language_case_value_map.rb +24 -0
- data/app/models/tr8n/language_case_value_map_filter.rb +68 -45
- data/app/models/tr8n/language_filter.rb +23 -0
- data/app/models/tr8n/language_forum_abuse_report.rb +56 -33
- data/app/models/tr8n/language_forum_abuse_report_filter.rb +57 -34
- data/app/models/tr8n/language_forum_message.rb +69 -46
- data/app/models/tr8n/language_forum_message_filter.rb +61 -38
- data/app/models/tr8n/language_forum_topic.rb +62 -41
- data/app/models/tr8n/language_forum_topic_filter.rb +61 -38
- data/app/models/tr8n/language_metric.rb +28 -1
- data/app/models/tr8n/language_metric_filter.rb +23 -0
- data/app/models/tr8n/language_rule.rb +23 -0
- data/app/models/tr8n/language_rule_filter.rb +72 -49
- data/app/models/tr8n/language_user.rb +86 -61
- data/app/models/tr8n/language_user_filter.rb +57 -34
- data/app/models/tr8n/list_rule.rb +41 -22
- data/app/models/tr8n/monthly_language_metric.rb +46 -22
- data/app/models/tr8n/numeric_rule.rb +41 -22
- data/app/models/tr8n/sync_log.rb +21 -0
- data/app/models/tr8n/sync_log_filter.rb +48 -27
- data/app/models/tr8n/total_language_metric.rb +46 -22
- data/app/models/tr8n/translation.rb +28 -0
- data/app/models/tr8n/translation_domain.rb +76 -56
- data/app/models/tr8n/translation_domain_filter.rb +49 -26
- data/app/models/tr8n/translation_filter.rb +57 -34
- data/app/models/tr8n/translation_key.rb +44 -8
- data/app/models/tr8n/translation_key_comment.rb +60 -37
- data/app/models/tr8n/translation_key_comment_filter.rb +53 -30
- data/app/models/tr8n/translation_key_filter.rb +68 -45
- data/app/models/tr8n/translation_key_lock.rb +81 -59
- data/app/models/tr8n/translation_key_lock_filter.rb +53 -30
- data/app/models/tr8n/translation_key_source.rb +22 -0
- data/app/models/tr8n/translation_key_source_filter.rb +53 -30
- data/app/models/tr8n/translation_source.rb +20 -0
- data/app/models/tr8n/translation_source_filter.rb +53 -30
- data/app/models/tr8n/translation_source_language.rb +58 -39
- data/app/models/tr8n/translation_vote.rb +56 -35
- data/app/models/tr8n/translation_vote_filter.rb +57 -34
- data/app/models/tr8n/translator.rb +38 -0
- data/app/models/tr8n/translator_filter.rb +73 -50
- data/app/models/tr8n/translator_following.rb +58 -38
- data/app/models/tr8n/translator_following_filter.rb +57 -34
- data/app/models/tr8n/translator_log.rb +25 -0
- data/app/models/tr8n/translator_log_filter.rb +72 -49
- data/app/models/tr8n/translator_metric.rb +27 -0
- data/app/models/tr8n/translator_metric_filter.rb +61 -38
- data/app/models/tr8n/translator_report.rb +23 -0
- data/app/models/tr8n/translator_report_filter.rb +53 -30
- data/app/models/tr8n/value_rule.rb +41 -22
- data/bin/{tr8n.rb → tr8n} +0 -0
- data/file +94 -0
- data/lib/tasks/dev.rake +162 -0
- data/lib/tr8n/config.rb +5 -1
- data/lib/tr8n/version.rb +1 -1
- data/local/tr8n_server/config/tr8n/config.yml +2 -1
- data/local/tr8n_server/db/schema.rb +0 -2
- metadata +45 -43
@@ -20,9 +20,33 @@
|
|
20
20
|
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
21
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
22
|
#++
|
23
|
+
#
|
24
|
+
#-- Tr8n::LanguageCaseValueMap Schema Information
|
25
|
+
#
|
26
|
+
# Table name: tr8n_language_case_value_maps
|
27
|
+
#
|
28
|
+
# id INTEGER not null, primary key
|
29
|
+
# keyword varchar(255) not null
|
30
|
+
# language_id integer not null
|
31
|
+
# translator_id integer
|
32
|
+
# map text
|
33
|
+
# reported boolean
|
34
|
+
# created_at datetime
|
35
|
+
# updated_at datetime
|
36
|
+
#
|
37
|
+
# Indexes
|
38
|
+
#
|
39
|
+
# index_tr8n_language_case_value_maps_on_translator_id (translator_id)
|
40
|
+
# index_tr8n_language_case_value_maps_on_keyword_and_language_id (keyword, language_id)
|
41
|
+
#
|
42
|
+
#++
|
23
43
|
|
24
44
|
class Tr8n::LanguageCaseValueMap < ActiveRecord::Base
|
25
45
|
set_table_name :tr8n_language_case_value_maps
|
46
|
+
|
47
|
+
attr_accessible :keyword, :language_id, :translator_id, :map, :reported
|
48
|
+
attr_accessible :language, :translator
|
49
|
+
|
26
50
|
after_save :clear_cache
|
27
51
|
after_destroy :clear_cache
|
28
52
|
|
@@ -1,45 +1,68 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
-
# a copy of this software and associated documentation files (the
|
6
|
-
# "Software"), to deal in the Software without restriction, including
|
7
|
-
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
-
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
-
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
-
# the following conditions:
|
11
|
-
#
|
12
|
-
# The above copyright notice and this permission notice shall be
|
13
|
-
# included in all copies or substantial portions of the Software.
|
14
|
-
#
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
-
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
-
#++
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
1
|
+
#--
|
2
|
+
# Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
# a copy of this software and associated documentation files (the
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
# the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be
|
13
|
+
# included in all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
#++
|
23
|
+
#
|
24
|
+
#-- Tr8n::LanguageCaseValueMapFilter Schema Information
|
25
|
+
#
|
26
|
+
# Table name: will_filter_filters
|
27
|
+
#
|
28
|
+
# id INTEGER not null, primary key
|
29
|
+
# type varchar(255)
|
30
|
+
# name varchar(255)
|
31
|
+
# data text
|
32
|
+
# user_id integer
|
33
|
+
# model_class_name varchar(255)
|
34
|
+
# created_at datetime
|
35
|
+
# updated_at datetime
|
36
|
+
#
|
37
|
+
# Indexes
|
38
|
+
#
|
39
|
+
# index_will_filter_filters_on_user_id (user_id)
|
40
|
+
#
|
41
|
+
#++
|
42
|
+
|
43
|
+
class Tr8n::LanguageCaseValueMapFilter < Tr8n::BaseFilter
|
44
|
+
|
45
|
+
def model_class
|
46
|
+
Tr8n::LanguageCaseValueMap
|
47
|
+
end
|
48
|
+
|
49
|
+
def definition
|
50
|
+
defs = super
|
51
|
+
defs[:language_id][:is] = :list
|
52
|
+
defs[:language_id][:is_not] = :list
|
53
|
+
defs
|
54
|
+
end
|
55
|
+
|
56
|
+
def value_options_for(criteria_key)
|
57
|
+
if criteria_key == :language_id
|
58
|
+
return Tr8n::Language.filter_options
|
59
|
+
end
|
60
|
+
|
61
|
+
return []
|
62
|
+
end
|
63
|
+
|
64
|
+
def inner_joins
|
65
|
+
[:language, :translator]
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
@@ -20,9 +20,32 @@
|
|
20
20
|
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
21
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
22
|
#++
|
23
|
+
#
|
24
|
+
#-- Tr8n::LanguageFilter Schema Information
|
25
|
+
#
|
26
|
+
# Table name: will_filter_filters
|
27
|
+
#
|
28
|
+
# id INTEGER not null, primary key
|
29
|
+
# type varchar(255)
|
30
|
+
# name varchar(255)
|
31
|
+
# data text
|
32
|
+
# user_id integer
|
33
|
+
# model_class_name varchar(255)
|
34
|
+
# created_at datetime
|
35
|
+
# updated_at datetime
|
36
|
+
#
|
37
|
+
# Indexes
|
38
|
+
#
|
39
|
+
# index_will_filter_filters_on_user_id (user_id)
|
40
|
+
#
|
41
|
+
#++
|
23
42
|
|
24
43
|
class Tr8n::LanguageFilter < Tr8n::BaseFilter
|
25
44
|
|
45
|
+
def model_class
|
46
|
+
Tr8n::Language
|
47
|
+
end
|
48
|
+
|
26
49
|
def definition
|
27
50
|
defs = super
|
28
51
|
defs[:fallback_language_id][:is] = :list
|
@@ -1,33 +1,56 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
-
# a copy of this software and associated documentation files (the
|
6
|
-
# "Software"), to deal in the Software without restriction, including
|
7
|
-
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
-
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
-
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
-
# the following conditions:
|
11
|
-
#
|
12
|
-
# The above copyright notice and this permission notice shall be
|
13
|
-
# included in all copies or substantial portions of the Software.
|
14
|
-
#
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
-
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
-
#++
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
1
|
+
#--
|
2
|
+
# Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
# a copy of this software and associated documentation files (the
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
# the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be
|
13
|
+
# included in all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
#++
|
23
|
+
#
|
24
|
+
#-- Tr8n::LanguageForumAbuseReport Schema Information
|
25
|
+
#
|
26
|
+
# Table name: tr8n_language_forum_abuse_reports
|
27
|
+
#
|
28
|
+
# id INTEGER not null, primary key
|
29
|
+
# language_id integer not null
|
30
|
+
# translator_id integer not null
|
31
|
+
# language_forum_message_id integer not null
|
32
|
+
# reason varchar(255)
|
33
|
+
# created_at datetime
|
34
|
+
# updated_at datetime
|
35
|
+
#
|
36
|
+
# Indexes
|
37
|
+
#
|
38
|
+
# tr8n_forum_reports_message_id (language_forum_message_id)
|
39
|
+
# tr8n_forum_reports_lang_id_translator_id (language_id, translator_id)
|
40
|
+
# tr8n_forum_reports_lang_id (language_id)
|
41
|
+
#
|
42
|
+
#++
|
43
|
+
|
44
|
+
class Tr8n::LanguageForumAbuseReport < ActiveRecord::Base
|
45
|
+
set_table_name :tr8n_language_forum_abuse_reports
|
46
|
+
|
47
|
+
attr_accessible :language_id, :translator_id, :language_forum_message_id, :reason
|
48
|
+
attr_accessible :language, :translator, :language_forum_message
|
49
|
+
|
50
|
+
belongs_to :language, :class_name => "Tr8n::Language"
|
51
|
+
belongs_to :translator, :class_name => "Tr8n::Translator"
|
52
|
+
belongs_to :language_forum_message, :class_name => "Tr8n::LanguageForumMessage"
|
53
|
+
|
54
|
+
alias :message :language_forum_message
|
55
|
+
|
56
|
+
end
|
@@ -1,34 +1,57 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
-
# a copy of this software and associated documentation files (the
|
6
|
-
# "Software"), to deal in the Software without restriction, including
|
7
|
-
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
-
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
-
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
-
# the following conditions:
|
11
|
-
#
|
12
|
-
# The above copyright notice and this permission notice shall be
|
13
|
-
# included in all copies or substantial portions of the Software.
|
14
|
-
#
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
-
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
-
#++
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
1
|
+
#--
|
2
|
+
# Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
# a copy of this software and associated documentation files (the
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
# the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be
|
13
|
+
# included in all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
#++
|
23
|
+
#
|
24
|
+
#-- Tr8n::LanguageForumAbuseReportFilter Schema Information
|
25
|
+
#
|
26
|
+
# Table name: will_filter_filters
|
27
|
+
#
|
28
|
+
# id INTEGER not null, primary key
|
29
|
+
# type varchar(255)
|
30
|
+
# name varchar(255)
|
31
|
+
# data text
|
32
|
+
# user_id integer
|
33
|
+
# model_class_name varchar(255)
|
34
|
+
# created_at datetime
|
35
|
+
# updated_at datetime
|
36
|
+
#
|
37
|
+
# Indexes
|
38
|
+
#
|
39
|
+
# index_will_filter_filters_on_user_id (user_id)
|
40
|
+
#
|
41
|
+
#++
|
42
|
+
|
43
|
+
class Tr8n::LanguageForumAbuseReportFilter < Tr8n::BaseFilter
|
44
|
+
|
45
|
+
def model_class
|
46
|
+
Tr8n::LanguageForumAbuseReport
|
47
|
+
end
|
48
|
+
|
49
|
+
def inner_joins
|
50
|
+
[["Tr8n::Language", :language_id], ["Tr8n::LanguageForumMessage", :language_forum_message_id], ["Tr8n::Translator", :translator_id]]
|
51
|
+
end
|
52
|
+
|
53
|
+
def inner_joins
|
54
|
+
[:language, :language_forum_message, :translator]
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
@@ -1,46 +1,69 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
-
# a copy of this software and associated documentation files (the
|
6
|
-
# "Software"), to deal in the Software without restriction, including
|
7
|
-
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
-
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
-
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
-
# the following conditions:
|
11
|
-
#
|
12
|
-
# The above copyright notice and this permission notice shall be
|
13
|
-
# included in all copies or substantial portions of the Software.
|
14
|
-
#
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
-
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
-
#++
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
1
|
+
#--
|
2
|
+
# Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
# a copy of this software and associated documentation files (the
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
# the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be
|
13
|
+
# included in all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
#++
|
23
|
+
#
|
24
|
+
#-- Tr8n::LanguageForumMessage Schema Information
|
25
|
+
#
|
26
|
+
# Table name: tr8n_language_forum_messages
|
27
|
+
#
|
28
|
+
# id INTEGER not null, primary key
|
29
|
+
# language_id integer not null
|
30
|
+
# language_forum_topic_id integer not null
|
31
|
+
# translator_id integer not null
|
32
|
+
# message text not null
|
33
|
+
# created_at datetime
|
34
|
+
# updated_at datetime
|
35
|
+
#
|
36
|
+
# Indexes
|
37
|
+
#
|
38
|
+
# tr8n_forum_msgs_lang_id_topic_id (language_id, language_forum_topic_id)
|
39
|
+
# tr8n_forums_msgs_translator_id (translator_id)
|
40
|
+
# tr8n_forum_msgs_lang_id (language_id)
|
41
|
+
#
|
42
|
+
#++
|
43
|
+
|
44
|
+
class Tr8n::LanguageForumMessage < ActiveRecord::Base
|
45
|
+
set_table_name :tr8n_language_forum_messages
|
46
|
+
|
47
|
+
attr_accessible :language_id, :language_forum_topic_id, :translator_id, :message
|
48
|
+
attr_accessible :language, :translator, :language_forum_topic
|
49
|
+
|
50
|
+
belongs_to :language, :class_name => "Tr8n::Language"
|
51
|
+
belongs_to :translator, :class_name => "Tr8n::Translator"
|
52
|
+
belongs_to :language_forum_topic, :class_name => "Tr8n::LanguageForumTopic"
|
53
|
+
|
54
|
+
has_many :language_forum_abuse_reports, :class_name => "Tr8n::LanguageForumAbuseReport", :dependent => :destroy
|
55
|
+
|
56
|
+
alias :topic :language_forum_topic
|
57
|
+
|
58
|
+
def submit_abuse_report(reporter)
|
59
|
+
report = Tr8n::LanguageForumAbuseReport.where("language_forum_message_id = ? and translator_id = ?", self.id, reporter.id).first
|
60
|
+
report ||= Tr8n::LanguageForumAbuseReport.create(:language_forum_message => self, :translator => reporter, :language => language)
|
61
|
+
translator.update_attributes(:reported => true)
|
62
|
+
report
|
63
|
+
end
|
64
|
+
|
65
|
+
def toHTML
|
66
|
+
return "" unless message
|
67
|
+
ERB::Util.html_escape(message).gsub("\n", "<br>")
|
68
|
+
end
|
69
|
+
end
|