Skip to content

Commit 3f69307

Browse files
committed
export and reimport member portrait metadata and site admin role - re #27, #30
1 parent 8b0f7ed commit 3f69307

File tree

2 files changed

+33
-3
lines changed

2 files changed

+33
-3
lines changed

opencore/browser/management.py

+11
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,17 @@ def __call__(self, *args, **kwargs):
8181
if portrait:
8282
portrait = open(os.path.join(portraits_dir, portrait), 'rb')
8383
mem_obj.setPortrait(portrait)
84+
portrait.filename = member['portrait_filename']
85+
portrait.getField("creation_date").set(
86+
portrait, DateTime(member['portrait_created_on']))
87+
portrait.getField("modification_date").set(
88+
portrait, DateTime(member['portrait_modified_on']))
89+
portrait.Schema()['creators'].set(portrait, (member['portrait_creator'],))
90+
portrait.creators = (member['portrait_creator'],)
91+
92+
if member['site_role'] == "admin":
93+
context.manage_setLocalRoles(member['member_id'], ("Manager",))
94+
8495
mem_obj.reindexObject()
8596

8697
i += 1

opencore/scripts/export_all_members.py

+22-3
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ def getMembersCSV(self, outfile, portrait_dir):
5252
'favorites']
5353

5454
also = ['portrait',
55+
'portrait_filename',
56+
'portrait_created_on',
57+
'portrait_modified_on',
58+
'portrait_creator',
59+
5560
'site_role',
5661
'is_confirmed',
5762

@@ -78,7 +83,7 @@ def getMembersCSV(self, outfile, portrait_dir):
7883
row.append(member.getLogin_time())
7984
else:
8085
row.append(member.getProperty(property))
81-
portrait_url = ""
86+
portrait_url = portrait_filename = portrait_created_on = portrait_modified_on = portrait_creator = ""
8287
portrait = member.getPortrait()
8388
if portrait:
8489
extension = mimetypes.guess_extension(portrait.content_type) or ''
@@ -94,10 +99,24 @@ def getMembersCSV(self, outfile, portrait_dir):
9499
assert isinstance(portrait.data.data, basestring)
95100
portrait_file.write(portrait.data.data)
96101
portrait_file.close()
102+
portrait_filename = portrait.filename
103+
portrait_created_on = str(portrait.created())
104+
portrait_modified_on = str(portrait.modified())
105+
portrait_creator = portrait.Creator()
97106
row.append(portrait_url)
107+
row.append(portrait_filename)
108+
row.append(portrait_created_on)
109+
row.append(portrait_modified_on)
110+
row.append(portrait_creator)
98111
print member.getId(), portrait_url
99-
row.append("<SITE_ROLE>")
100-
row.append(MemberWorkflowHandler(member).is_unconfirmed() and "unconfirmed" or "confirmed")
112+
113+
site_role = ""
114+
if 'Manager' in app.openplans.get_local_roles_for_userid(memberId):
115+
site_role = 'admin'
116+
row.append(site_role)
117+
118+
row.append(MemberWorkflowHandler(member).is_unconfirmed() and "unconfirmed"
119+
or "confirmed")
101120
try:
102121
memfolder = app.openplans.people[memberId]
103122
except KeyError:

0 commit comments

Comments
 (0)