59 def getDocForForm(form): |
59 def getDocForForm(form): |
60 """Extracts doc fields from a form and creates a new doc from it |
60 """Extracts doc fields from a form and creates a new doc from it |
61 """ |
61 """ |
62 |
62 |
63 user = users.get_current_user() |
63 user = users.get_current_user() |
64 if user: |
|
65 email = user.email() |
|
66 else: |
|
67 email = None |
|
68 |
64 |
69 partial_path = form.cleaned_data.get('partial_path') |
65 partial_path = form.cleaned_data.get('partial_path') |
70 link_name = form.cleaned_data.get('link_name') |
66 link_name = form.cleaned_data.get('link_name') |
71 |
67 |
72 properties = {} |
68 properties = {} |
73 properties['partial_path'] = partial_path |
69 properties['partial_path'] = partial_path |
74 properties['link_name'] = link_name |
70 properties['link_name'] = link_name |
75 properties['title'] = form.cleaned_data.get('title') |
71 properties['title'] = form.cleaned_data.get('title') |
76 properties['short_name'] = form.cleaned_data.get('short_name') |
72 properties['short_name'] = form.cleaned_data.get('short_name') |
77 properties['content'] = form.cleaned_data.get('content') |
73 properties['content'] = form.cleaned_data.get('content') |
78 properties['author'] = models.user.logic.getFromFields(email=email) |
74 properties['author'] = models.user.logic.getForFields({'id': user}, unique=True) |
79 properties['is_featured'] = form.cleaned_data.get('is_featured') |
75 properties['is_featured'] = form.cleaned_data.get('is_featured') |
80 |
76 |
81 key_fields = document.logic.getKeyFieldsFromDict(properties) |
77 key_fields = document.logic.getKeyFieldsFromDict(properties) |
82 |
78 |
83 doc = document.logic.updateOrCreateFromFields(properties, key_fields) |
79 doc = document.logic.updateOrCreateFromFields(properties, key_fields) |