lportal 1.0.0 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README +1 -2
- data/init.rb +4 -0
- data/lib/announcement/entry.rb +17 -0
- data/lib/blog_post.rb +3 -0
- data/lib/bookmark/entry.rb +22 -0
- data/lib/bookmark/folder.rb +18 -0
- data/lib/calevent.rb +20 -0
- data/lib/classname.rb +78 -0
- data/lib/company.rb +5 -0
- data/lib/ig/folder.rb +11 -0
- data/lib/ig/image.rb +3 -4
- data/lib/journal/article_resource.rb +6 -2
- data/lib/mb/message.rb +0 -3
- data/lib/mb/thread.rb +5 -1
- data/lib/organization.rb +9 -2
- data/lib/resource.rb +5 -11
- data/lib/tag/asset.rb +40 -1
- data/lib/user.rb +7 -0
- data/lib/usergroup.rb +4 -4
- data/lib/web/layout.rb +4 -0
- data/lib/web/layout_set.rb +14 -10
- data/lib/web/portlet.rb +9 -9
- data/lib/web/portlet_preferences.rb +6 -6
- data/lib/wiki/page.rb +3 -0
- data/lportal.rb +12 -1
- data/test/unit/account_test.rb +5 -2
- data/test/unit/address_test.rb +0 -4
- data/test/unit/announcement/entry_test.rb +28 -0
- data/test/unit/blog_post_test.rb +38 -0
- data/test/unit/bookmark/entry_test.rb +28 -0
- data/test/unit/bookmark/folder_test.rb +22 -0
- data/test/unit/calevent_test.rb +28 -0
- data/test/unit/company_test.rb +31 -18
- data/test/unit/contact_test.rb +6 -5
- data/test/unit/group_test.rb +4 -2
- data/test/unit/ig/folder_test.rb +23 -3
- data/test/unit/ig/image_test.rb +11 -3
- data/test/unit/journal/article_image_test.rb +6 -5
- data/test/unit/journal/article_resource_test.rb +16 -3
- data/test/unit/journal/article_test.rb +19 -6
- data/test/unit/mb/category_test.rb +21 -5
- data/test/unit/mb/discussion_test.rb +9 -2
- data/test/unit/mb/message_test.rb +16 -8
- data/test/unit/mb/thread_test.rb +10 -3
- data/test/unit/organization_test.rb +20 -21
- data/test/unit/permission_test.rb +30 -9
- data/test/unit/resource_code_test.rb +8 -4
- data/test/unit/resource_test.rb +46 -24
- data/test/unit/role_test.rb +5 -3
- data/test/unit/tag/asset_test.rb +61 -0
- data/test/unit/tag/entry_test.rb +17 -7
- data/test/unit/tag/property_test.rb +12 -4
- data/test/unit/user_test.rb +37 -44
- data/test/unit/usergroup_test.rb +10 -9
- data/test/unit/web/layout_set_test.rb +38 -34
- data/test/unit/web/layout_test.rb +3 -5
- data/test/unit/web/portlet_preferences_test.rb +10 -6
- data/test/unit/web/portlet_test.rb +14 -8
- data/test/unit/wiki/node_test.rb +1 -4
- data/test/unit/wiki/page_test.rb +1 -4
- data/version.rb +4 -0
- metadata +28 -10
- data/lib/announcement.rb +0 -5
- data/lib/bookmark.rb +0 -10
- data/lib/web/portlet_name.rb +0 -6
- data/test/unit/announcement_test.rb +0 -8
- data/test/unit/asset_test.rb +0 -29
- data/test/unit/bookmark_test.rb +0 -8
- data/test/unit/user_group_test.rb +0 -8
data/README
CHANGED
@@ -3,8 +3,7 @@
|
|
3
3
|
This is a collection of (some) Liferay models for developers that use the database with ActiveRecord. You may want to check out the Rails-portlet package if you're going to deploy Rails applications of Liferay.
|
4
4
|
|
5
5
|
|
6
|
-
|
7
|
-
== Example
|
6
|
+
== Follow these steps
|
8
7
|
|
9
8
|
1. Configure ActiveRecord as usual.
|
10
9
|
2. require 'lportal'
|
data/init.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
module Announcement
|
2
|
+
class Entry < ActiveRecord::Base
|
3
|
+
set_table_name :announcementsentry
|
4
|
+
set_primary_key :entryid
|
5
|
+
|
6
|
+
belongs_to :company,
|
7
|
+
:foreign_key => 'companyid'
|
8
|
+
|
9
|
+
belongs_to :user,
|
10
|
+
:foreign_key => 'userid'
|
11
|
+
|
12
|
+
# has_one :asset,
|
13
|
+
# :foreign_key => 'classpk'
|
14
|
+
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
data/lib/blog_post.rb
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
module Bookmark
|
2
|
+
class Entry < ActiveRecord::Base
|
3
|
+
set_table_name :bookmarksentry
|
4
|
+
set_primary_key :entryid
|
5
|
+
|
6
|
+
# com.liferay.portlet.bookmarks.model.BookmarksEntry
|
7
|
+
def liferay_class
|
8
|
+
'com.liferay.portlet.bookmarks.model.BookmarksEntry'
|
9
|
+
end
|
10
|
+
|
11
|
+
belongs_to :company,
|
12
|
+
:foreign_key => 'companyid'
|
13
|
+
|
14
|
+
belongs_to :user,
|
15
|
+
:foreign_key => 'userid'
|
16
|
+
|
17
|
+
belongs_to :folder,
|
18
|
+
:class_name => 'Bookmark::Folder',
|
19
|
+
:foreign_key => 'folderid'
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Bookmark
|
2
|
+
class Folder < ActiveRecord::Base
|
3
|
+
set_table_name :bookmarksfolder
|
4
|
+
set_primary_key :folderid
|
5
|
+
|
6
|
+
# com.liferay.portlet.bookmarks.model.BookmarksFolder
|
7
|
+
def liferay_class
|
8
|
+
'com.liferay.portlet.bookmarks.model.BookmarksFolder'
|
9
|
+
end
|
10
|
+
|
11
|
+
belongs_to :company,
|
12
|
+
:foreign_key => 'companyid'
|
13
|
+
|
14
|
+
belongs_to :user,
|
15
|
+
:foreign_key => 'userid'
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
data/lib/calevent.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
class Calevent < ActiveRecord::Base
|
2
|
+
set_table_name :calevent
|
3
|
+
set_primary_key :eventid
|
4
|
+
|
5
|
+
# com.liferay.portlet.calendar.model.CalEvent
|
6
|
+
def liferay_class
|
7
|
+
'com.liferay.portlet.calendar.model.CalEvent'
|
8
|
+
end
|
9
|
+
|
10
|
+
belongs_to :company,
|
11
|
+
:foreign_key => 'companyid'
|
12
|
+
|
13
|
+
belongs_to :user,
|
14
|
+
:foreign_key => 'userid'
|
15
|
+
|
16
|
+
belongs_to :group,
|
17
|
+
:foreign_key => 'groupid'
|
18
|
+
|
19
|
+
|
20
|
+
end
|
data/lib/classname.rb
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
class Classname < ActiveRecord::Base
|
2
|
+
set_table_name :classname_
|
3
|
+
set_primary_key :classnameid
|
4
|
+
|
5
|
+
# Returns the Class of the model for a certain Java class
|
6
|
+
def self.model(codename)
|
7
|
+
case codename
|
8
|
+
|
9
|
+
# TODO: rake task to caterpillar..
|
10
|
+
# when "56" #journal_content
|
11
|
+
# when "58" #login
|
12
|
+
# when "101" #tagged_content
|
13
|
+
# when "103" #tags_compiler
|
14
|
+
|
15
|
+
when 'com.liferay.portal.model.Layout'
|
16
|
+
Web::Layout
|
17
|
+
|
18
|
+
when 'com.liferay.portal.model.Organization'
|
19
|
+
Organization
|
20
|
+
|
21
|
+
when 'com.liferay.portal.model.Role'
|
22
|
+
Role
|
23
|
+
|
24
|
+
when 'com.liferay.portal.model.User'
|
25
|
+
User
|
26
|
+
|
27
|
+
when 'com.liferay.portal.model.UserGroup'
|
28
|
+
Usergroup
|
29
|
+
|
30
|
+
when 'com.liferay.portlet.blogs.model.BlogsEntry'
|
31
|
+
BlogPost
|
32
|
+
|
33
|
+
when 'com.liferay.portlet.documentlibrary.model.DLFileEntry'
|
34
|
+
DlFile
|
35
|
+
|
36
|
+
when 'com.liferay.portlet.documentlibrary.model.DLFolder'
|
37
|
+
DlFolder
|
38
|
+
|
39
|
+
when 'com.liferay.portlet.calendar.model.CalEvent'
|
40
|
+
Calevent
|
41
|
+
|
42
|
+
when 'com.liferay.portlet.announcements.model.AnnouncementsEntry'
|
43
|
+
Announcement::Entry
|
44
|
+
|
45
|
+
when 'com.liferay.portlet.bookmarks.model.BookmarksEntry'
|
46
|
+
Bookmark::Entry
|
47
|
+
|
48
|
+
when 'com.liferay.portlet.bookmarks.model.BookmarksFolder'
|
49
|
+
Bookmark::Folder
|
50
|
+
|
51
|
+
when 'com.liferay.portlet.imagegallery.model.IGFolder'
|
52
|
+
IG::Folder
|
53
|
+
|
54
|
+
when 'com.liferay.portlet.imagegallery.model.IGImage'
|
55
|
+
IG::Image
|
56
|
+
|
57
|
+
when 'com.liferay.portlet.journal.model.JournalArticle'
|
58
|
+
Journal::Article
|
59
|
+
|
60
|
+
when 'com.liferay.portlet.journal.model.JournalArticleResource'
|
61
|
+
Journal::ArticleResource
|
62
|
+
|
63
|
+
when 'com.liferay.portlet.messageboards.model.MBCategory'
|
64
|
+
MB::Category
|
65
|
+
|
66
|
+
when 'com.liferay.portlet.messageboards.model.MBMessage'
|
67
|
+
MB::Message
|
68
|
+
|
69
|
+
when 'com.liferay.portlet.wiki.model.WikiNode'
|
70
|
+
Wiki::Node
|
71
|
+
|
72
|
+
when 'com.liferay.portlet.wiki.model.WikiPage'
|
73
|
+
Wiki::Page
|
74
|
+
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
data/lib/company.rb
CHANGED
@@ -32,6 +32,11 @@ class Company < ActiveRecord::Base
|
|
32
32
|
'com.liferay.portal.model.Company'
|
33
33
|
end
|
34
34
|
|
35
|
+
def administrators
|
36
|
+
adminrole = Role.find_by_name 'Administrator'
|
37
|
+
return self.users.select{|u| u.roles.include?(adminrole) }
|
38
|
+
end
|
39
|
+
|
35
40
|
|
36
41
|
# has_one :frontpage,
|
37
42
|
# :class_name => "Web::LayoutSet",
|
data/lib/ig/folder.rb
CHANGED
@@ -8,5 +8,16 @@ module IG
|
|
8
8
|
def liferay_class
|
9
9
|
'com.liferay.portlet.imagegallery.model.IGFolder'
|
10
10
|
end
|
11
|
+
|
12
|
+
belongs_to :company,
|
13
|
+
:foreign_key => 'companyid'
|
14
|
+
|
15
|
+
belongs_to :user,
|
16
|
+
:foreign_key => 'userid'
|
17
|
+
|
18
|
+
belongs_to :group,
|
19
|
+
:foreign_key => 'groupid'
|
20
|
+
|
21
|
+
|
11
22
|
end
|
12
23
|
end
|
data/lib/ig/image.rb
CHANGED
@@ -18,11 +18,10 @@ module IG
|
|
18
18
|
has_one :asset,
|
19
19
|
:foreign_key => 'classpk'
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
belongs_to :folder,
|
22
|
+
:class_name => 'IG::Folder',
|
23
|
+
:foreign_key => 'folderid'
|
24
24
|
|
25
|
-
#
|
26
25
|
def large
|
27
26
|
::Image.find self.largeimageid
|
28
27
|
end
|
@@ -14,9 +14,13 @@ module Journal
|
|
14
14
|
has_one :asset,
|
15
15
|
:foreign_key => 'classpk'
|
16
16
|
|
17
|
+
# belongs_to :article,
|
18
|
+
# :class_name => 'Journal::Article',
|
19
|
+
# :foreign_key => 'articleid'
|
20
|
+
|
17
21
|
# verbose has_one :article, as articleid does not refer the primkey of Journal::Article
|
18
|
-
def
|
19
|
-
Journal::Article.
|
22
|
+
def article
|
23
|
+
Journal::Article.find_by_articleid self.articleid
|
20
24
|
end
|
21
25
|
|
22
26
|
end
|
data/lib/mb/message.rb
CHANGED
data/lib/mb/thread.rb
CHANGED
@@ -12,9 +12,13 @@ module MB
|
|
12
12
|
:class_name => "MB::Category",
|
13
13
|
:foreign_key => "categoryid"
|
14
14
|
|
15
|
-
belongs_to :
|
15
|
+
belongs_to :root,
|
16
16
|
:class_name => "MB::Message",
|
17
17
|
:foreign_key => "rootmessageid"
|
18
18
|
|
19
|
+
def first_entry
|
20
|
+
self.root
|
21
|
+
end
|
22
|
+
|
19
23
|
end
|
20
24
|
end
|
data/lib/organization.rb
CHANGED
@@ -17,10 +17,17 @@ class Organization < ActiveRecord::Base
|
|
17
17
|
:association_foreign_key => 'userid'
|
18
18
|
alias :members :users
|
19
19
|
|
20
|
+
belongs_to :parent,
|
21
|
+
:class_name => 'Organization',
|
22
|
+
:foreign_key => 'parentorganizationid'
|
23
|
+
|
20
24
|
# Organization's own group
|
21
|
-
has_one :
|
22
|
-
:class_name
|
25
|
+
has_one :group,
|
26
|
+
:class_name => 'Group',
|
23
27
|
:foreign_key => 'classpk'
|
24
28
|
|
29
|
+
def hive
|
30
|
+
self.group
|
31
|
+
end
|
25
32
|
|
26
33
|
end
|
data/lib/resource.rb
CHANGED
@@ -32,23 +32,17 @@ class Resource < ActiveRecord::Base
|
|
32
32
|
def content
|
33
33
|
key = self.primkey
|
34
34
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
when 'com.liferay.portal.model.Layout'
|
39
|
-
Web::Layout.find key
|
40
|
-
|
41
|
-
# when "56" #journal_content
|
42
|
-
# when "58" #login
|
43
|
-
# when "101" #tagged_content
|
44
|
-
# when "103" #tags_compiler
|
35
|
+
_class = Classname.model(self.code.name)
|
36
|
+
if _class
|
37
|
+
_class.find key
|
45
38
|
|
46
39
|
else
|
47
40
|
if key[/LAYOUT/]
|
48
41
|
Web::PortletPreferences.find(:first, :conditions => "plid=#{self.plid} AND portletid='#{self.portletid}'" )
|
49
42
|
else
|
50
43
|
# unless groups_ids.include? key
|
51
|
-
|
44
|
+
STDERR.puts "fixme: #{self.code.name} (#{key})"
|
45
|
+
return nil
|
52
46
|
# end
|
53
47
|
end
|
54
48
|
end
|
data/lib/tag/asset.rb
CHANGED
@@ -24,11 +24,50 @@ module Tag
|
|
24
24
|
|
25
25
|
# association to tags
|
26
26
|
has_and_belongs_to_many :tags,
|
27
|
-
:class_name
|
27
|
+
:class_name => 'Tag::Entry',
|
28
28
|
:join_table => 'tagsassets_tagsentries',
|
29
29
|
:foreign_key => 'assetid',
|
30
30
|
:association_foreign_key => 'entryid'
|
31
31
|
|
32
|
+
def self.resource_types
|
33
|
+
[
|
34
|
+
BlogPost,
|
35
|
+
Wiki::Page,
|
36
|
+
MB::Message,
|
37
|
+
Journal::Article,
|
38
|
+
DlFile,
|
39
|
+
IG::Image,
|
40
|
+
Bookmark::Entry,
|
41
|
+
Group,
|
42
|
+
DlFolder
|
43
|
+
]
|
44
|
+
end
|
45
|
+
|
46
|
+
# Content can be of several different types.
|
47
|
+
# Finding Wiki::Page s and Journal::Article s is a bit tricky..
|
48
|
+
def resource
|
49
|
+
resource_id = self.classpk
|
50
|
+
#logger.debug "Looking up resource #{resource_id}"
|
51
|
+
|
52
|
+
_class = Classname.model(Classname.find(self.classnameid).value)
|
53
|
+
if _class
|
54
|
+
if _class==Wiki::Page
|
55
|
+
Wiki::Page.find(:first,
|
56
|
+
:conditions => "resourceprimkey=#{resource_id}", :order => "version DESC")
|
57
|
+
|
58
|
+
elsif _class==Journal::Article
|
59
|
+
Journal::Article.find(:first,
|
60
|
+
:conditions => "resourceprimkey=#{resource_id}", :order => "version DESC")
|
61
|
+
|
62
|
+
else
|
63
|
+
_class.find resource_id
|
64
|
+
end
|
65
|
+
|
66
|
+
else
|
67
|
+
logger.warn "Resource #{resource_id} of asset #{self.id} was left unresolved"
|
68
|
+
return nil
|
69
|
+
end
|
70
|
+
end
|
32
71
|
|
33
72
|
end
|
34
73
|
end
|
data/lib/user.rb
CHANGED
@@ -3,6 +3,8 @@ class User < ActiveRecord::Base
|
|
3
3
|
set_table_name :user_
|
4
4
|
set_primary_key :userid
|
5
5
|
|
6
|
+
validates_uniqueness_of :screenname
|
7
|
+
|
6
8
|
public
|
7
9
|
|
8
10
|
def liferay_class
|
@@ -154,6 +156,7 @@ class User < ActiveRecord::Base
|
|
154
156
|
|
155
157
|
# association to assets
|
156
158
|
has_many :assets,
|
159
|
+
:order => 'publishdate',
|
157
160
|
:foreign_key => 'userid'
|
158
161
|
|
159
162
|
# association to wiki pages
|
@@ -211,6 +214,10 @@ class User < ActiveRecord::Base
|
|
211
214
|
def birthday
|
212
215
|
self.contact.birthday
|
213
216
|
end
|
217
|
+
def birthday=(val)
|
218
|
+
self.contact.birthday = val
|
219
|
+
self.contact.save
|
220
|
+
end
|
214
221
|
|
215
222
|
def streetaddress
|
216
223
|
self.address.street1
|
data/lib/usergroup.rb
CHANGED
@@ -12,12 +12,12 @@ class Usergroup < ActiveRecord::Base
|
|
12
12
|
|
13
13
|
# association to direct groups
|
14
14
|
has_and_belongs_to_many :groups,
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
:join_table => 'groups_usergroups',
|
16
|
+
:foreign_key => 'usergroupid',
|
17
|
+
:association_foreign_key => 'groupid'
|
18
18
|
|
19
19
|
has_one :parent,
|
20
|
-
:class_name
|
20
|
+
:class_name => 'Usergroup',
|
21
21
|
:foreign_key => 'parentusergroupid'
|
22
22
|
|
23
23
|
end
|
data/lib/web/layout.rb
CHANGED
@@ -21,6 +21,10 @@ module Web
|
|
21
21
|
has_many :resources,
|
22
22
|
:foreign_key => 'primkey'
|
23
23
|
|
24
|
+
def layoutset
|
25
|
+
Web::LayoutSet.find(:first, :conditions => "groupid=#{self.groupid} AND privatelayout=#{self.privatelayout}" )
|
26
|
+
end
|
27
|
+
|
24
28
|
def portletids
|
25
29
|
begin
|
26
30
|
ts = self.typesettings
|
data/lib/web/layout_set.rb
CHANGED
@@ -3,35 +3,39 @@ module Web
|
|
3
3
|
class LayoutSet < ActiveRecord::Base
|
4
4
|
set_table_name :layoutset
|
5
5
|
set_primary_key :layoutsetid
|
6
|
-
|
6
|
+
|
7
7
|
# com.liferay.portal.model.LayoutSet
|
8
8
|
def liferay_class
|
9
9
|
'com.liferay.portal.model.LayoutSet'
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
public
|
13
|
-
|
13
|
+
|
14
14
|
belongs_to :group,
|
15
15
|
:foreign_key => 'groupid'
|
16
|
-
|
16
|
+
|
17
17
|
belongs_to :company,
|
18
18
|
:foreign_key => 'companyid'
|
19
|
-
|
19
|
+
|
20
20
|
def is_public?
|
21
21
|
!self.privatelayout
|
22
22
|
end
|
23
|
-
|
23
|
+
|
24
24
|
def is_private?
|
25
25
|
self.privatelayout
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
def has_logo?
|
29
29
|
self.logo
|
30
30
|
end
|
31
|
-
|
31
|
+
|
32
|
+
def layouts
|
33
|
+
Web::Layout.find(:all, :conditions => "groupid=#{self.groupid} AND privatelayout=#{self.privatelayout}" )
|
34
|
+
end
|
35
|
+
|
32
36
|
#?
|
33
37
|
# has_one :resource,
|
34
38
|
# :foreign_key => 'primkey'
|
35
|
-
|
36
|
-
end
|
39
|
+
|
40
|
+
end
|
37
41
|
end
|
data/lib/web/portlet.rb
CHANGED
@@ -3,21 +3,21 @@ module Web
|
|
3
3
|
class Portlet < ActiveRecord::Base
|
4
4
|
set_table_name :portlet
|
5
5
|
set_primary_key :id_
|
6
|
-
|
6
|
+
|
7
7
|
public
|
8
|
-
|
8
|
+
|
9
9
|
belongs_to :company,
|
10
10
|
:foreign_key => "companyid"
|
11
|
-
|
11
|
+
|
12
12
|
# primkey in resource_ table
|
13
13
|
def primkey(plid)
|
14
14
|
"#{plid}_LAYOUT_#{self.portletid}"
|
15
15
|
end
|
16
|
-
|
16
|
+
|
17
17
|
def resource(plid)
|
18
18
|
Resource.find_by_primkey(self.primkey(plid))
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
# all instances
|
22
22
|
def resources
|
23
23
|
# Resource.find_by_primkey(self.primkey)
|
@@ -26,18 +26,18 @@ module Web
|
|
26
26
|
ResourceCode.find(:all, :conditions => "name='#{portletid}'").each do |rc|
|
27
27
|
resources << Resource.find(:all, :conditions => "codeid='#{rc.id}'")
|
28
28
|
end
|
29
|
-
|
29
|
+
|
30
30
|
return resources.flatten
|
31
31
|
end
|
32
|
-
|
32
|
+
|
33
33
|
def is_active?
|
34
34
|
self.active_
|
35
35
|
end
|
36
|
-
|
36
|
+
|
37
37
|
# comply API with Web::Portlet.resource
|
38
38
|
def preferences_
|
39
39
|
""
|
40
40
|
end
|
41
|
-
|
41
|
+
|
42
42
|
end
|
43
43
|
end
|
@@ -2,28 +2,28 @@ module Web
|
|
2
2
|
class PortletPreferences < ActiveRecord::Base
|
3
3
|
set_table_name :portletpreferences
|
4
4
|
set_primary_key :portletpreferencesid
|
5
|
-
|
5
|
+
|
6
6
|
public
|
7
|
-
|
7
|
+
|
8
8
|
belongs_to :layout,
|
9
9
|
:class_name => 'Web::Layout',
|
10
10
|
:foreign_key => 'plid'
|
11
|
-
|
11
|
+
|
12
12
|
belongs_to :owner,
|
13
13
|
:class_name => 'User',
|
14
14
|
:foreign_key => 'ownerid'
|
15
|
-
|
15
|
+
|
16
16
|
# primkey in resource_ table
|
17
17
|
def primkey
|
18
18
|
"#{self.plid}_LAYOUT_#{self.portletid}"
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
# argument plid is to comply API with Web::Portlet.resource
|
22
22
|
def resource(plid)
|
23
23
|
Resource.find_by_primkey(self.primkey)
|
24
24
|
# Resource.find(:all, :conditions => "primkey='#{self.primkey}'")
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
# loads the preferences XML structure to Ruby Hash
|
28
28
|
def preferences_
|
29
29
|
xml = REXML::Document.new(self.preferences)
|
data/lib/wiki/page.rb
CHANGED
data/lportal.rb
CHANGED
@@ -4,6 +4,17 @@ require 'active_record'
|
|
4
4
|
file = File.symlink?(__FILE__) ? File.readlink(__FILE__) : __FILE__
|
5
5
|
this_dir = File.dirname(File.expand_path(file))
|
6
6
|
|
7
|
+
require this_dir+'/version'
|
8
|
+
|
9
|
+
# include all ruby files
|
7
10
|
Find.find(this_dir+'/lib') do |file|
|
8
|
-
|
11
|
+
if FileTest.directory?(file)
|
12
|
+
if File.basename(file) == "deprecated"
|
13
|
+
Find.prune # Don't look any further into this directory.
|
14
|
+
else
|
15
|
+
next
|
16
|
+
end
|
17
|
+
else
|
18
|
+
require file if file[/.rb$/]
|
19
|
+
end
|
9
20
|
end
|
data/test/unit/account_test.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
3
|
class AccountTest < ActiveSupport::TestCase
|
4
|
+
fixtures :account_
|
5
|
+
|
4
6
|
def setup
|
5
7
|
@accounts = Account.find :all
|
6
8
|
assert !@accounts.empty?, "No accounts found"
|
@@ -8,13 +10,14 @@ class AccountTest < ActiveSupport::TestCase
|
|
8
10
|
|
9
11
|
def test_company
|
10
12
|
@accounts.each do |x|
|
11
|
-
|
13
|
+
assert_not_nil x.company
|
12
14
|
end
|
13
15
|
end
|
14
16
|
|
15
17
|
def test_user
|
16
18
|
@accounts.each do |x|
|
17
|
-
|
19
|
+
#assert_not_nil x.user
|
18
20
|
end
|
19
21
|
end
|
22
|
+
|
20
23
|
end
|
data/test/unit/address_test.rb
CHANGED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class Announcement::EntryTest < ActiveSupport::TestCase
|
4
|
+
fixtures :announcementsentry
|
5
|
+
|
6
|
+
def setup
|
7
|
+
@announcements = Announcement::Entry.all
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_company
|
11
|
+
@announcements.each do |x|
|
12
|
+
assert_not_nil x.company, "#{x.id} belongs to no company"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_user
|
17
|
+
@announcements.each do |x|
|
18
|
+
assert_not_nil x.user, "#{x.id} belongs to no user!"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
# def test_asset
|
23
|
+
# @announcements.each do |x|
|
24
|
+
# assert_not_nil x.asset
|
25
|
+
# end
|
26
|
+
# end
|
27
|
+
|
28
|
+
end
|