source: WAeUP_SRP/base/skins/waeup_upload/uploads_index.py @ 3282

Last change on this file since 3282 was 3277, checked in by joachim, 17 years ago

implemented new Upload functionallity

  • Property svn:keywords set to Id
File size: 3.4 KB
Line 
1## Script (Python) "getUploadsInfo"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=student=None
8##title=
9##
10# $Id:getUploadsInfo.py 486 2006-09-06 10:09:39Z joachim $
11"""
12return Info about the Uploads
13"""
14import DateTime
15try:
16    from Products.zdb import set_trace
17except:
18    def set_trace():
19        pass
20request = context.REQUEST
21
22wf = context.portal_workflow
23mtool = context.portal_membership
24member = mtool.getAuthenticatedMember()
25
26path_info = request.get('PATH_INFO').split('/')
27
28info = {}
29info['action'] = "%s" % context.absolute_url()
30info['choosen_ids'] = request.get('ids',[])
31info['doc'] = context.getContent()
32
33items = []
34edit = request.form.has_key('edit')
35ids = request.get('ids',[])
36#set_trace()
37if edit and ids:
38    for id in ids:
39        doc = getattr(context, "%s.csv" % id).getContent()
40        doc.edit(mapping = request.form[id])
41        msg, invalid_keys = doc['checkKeys']()
42        new_keys = []
43        for key in invalid_keys:
44            id_key = "%s|%s" % (id,key)
45            if request.form.has_key(id_key):
46                new_keys += (key,request.form.get(id_key)['valid_key']),
47        if new_keys:
48            doc.editHeadline(new_keys)
49        request.RESPONSE.redirect(context.absolute_url())   
50       
51for id,upload in context.objectItems():
52    row = {}
53    doc = upload.getContent()
54    row['valid_keys'] = doc['getKeys']()
55    row['id'] = id.replace('.csv','')
56    row['title'] = doc.filename
57    row['url'] = upload.absolute_url()
58    row['msg'], row['invalid_keys'] = doc['checkKeys']()
59    row['filename'] = doc.filename
60    row['import_layout'] = doc.import_layout
61    row['upload_date'] =  doc.upload_date.strftime("%d/%m/%y %H:%M:%S")
62    row['uploaded_by'] = doc.uploaded_by
63    items.append(row)
64items.sort()
65info['items'] = items
66
67validate = "upload" in request.keys()
68mode = "edit"
69res,psm,ds = context.portal_layouts.renderLayout(layout_id = 'upload',
70                             schema_id = 'upload',
71                             layout_mode = mode,
72                             context=context,
73                             mapping=validate and request,
74                             ob= {},
75                             commit = True,
76                            )
77if psm == 'invalid':
78    return context.uploads_form(rendered = res,
79                                 psm = "Please correct your input!",
80                                 mode = mode,
81                                 ds = ds,
82                                 info = info,
83                                )
84elif psm == '':
85    return context.uploads_form(rendered = res,
86                                        psm = psm,
87                                        ds = ds,
88                                        mode = mode,
89                                        info = info,
90                                       )
91elif psm == 'valid':
92    pass
93filename = ds['upload_file'].filename
94
95if filename not in context.objectIds():
96    context.invokeFactory('Upload',filename)
97    upload = getattr(context,filename)
98    d = {}
99    d['filename'] = d['id'] = filename
100    d['upload_date'] =  DateTime.DateTime()
101    d['import_layout'] = ds.get('import_layout','')
102    d['uploaded_by'] = str(member)
103    d['url'] = upload.absolute_url()
104    upload.getContent().edit(mapping=d)
105    #info['items'].append(d)
106request.RESPONSE.redirect(context.absolute_url())   
107
Note: See TracBrowser for help on using the repository browser.