def create_easy(request, enc): (flowgram, new) = controller.get_working_flowgram(request.user) hash_parts = ["%s-%s" % (key, request.GET[key]) for key in sorted(request.GET.keys())] controller.record_stat(request, "view_create_website", "0", "") return helpers.redirect("/r/%s/%s" % (flowgram.id, "__".join(hash_parts)))
def add_page(user, url, html, title): # Modifying the HTML to add a base tag, etc. (html, url) = fix.process_page(html, url) # Creating and saving the page. page = models.Page.objects.create(title=title, source_url=url) html = helpers.cache_css_files(page, html) (flowgram, is_new) = controller.get_working_flowgram(user) if is_new: log.action('Created new working Flowgram with ID %s as a result of calling get_working_flowgram in add_page.' % \ flowgram.id) page = controller.create_page_to_flowgram(flowgram, page, html) # Removing the user's 'just_published' attribute. profile = user.get_profile() profile.just_published = False profile.save() return (flowgram, page)
def upload(request, enc): if request.FILES.has_key('file'): # do later in queue once per slide # adds a page to the fg # html will be like before but embed a swf that is centered # page = Page.objects.create(title=request.FILES['file']['filename'], position=255) # page = controller.create_page_to_flowgram(fg, page, html) (fg, new) = controller.get_working_flowgram(request.user) if new: log.debug("Action log: new working flowgram %s created during add_page" % fg.id) # create queue item ppt_import_request = models.PptImportRequest.objects.create(flowgram=fg) # 2. Send to S3 ppt_import_request.save_ppt_to_s3(request.FILES['file']['content']) return data_response.create(enc, 'ok', ppt_import_request.id) else: return error_response.create(enc, 'No file was uploaded.')
def file_upload(request): # Uses GET parameters instead of POST for passing data, handled by Flex. file = request.FILES['file'] content = file['content'] content_type = file['content-type'] filename = file['filename'] filetype = request.GET.get('filetype', '') enc = request.GET.get('enc', 'json') flowgram_id = request.GET.get('flowgram_id') flowgram = get_object_or_404(models.Flowgram, id=flowgram_id) \ if flowgram_id \ else controller.get_working_flowgram(request.user) if not permissions.can_edit(request.user, flowgram): return error_response.create(enc, 'Does not have edit_flowgram permission.' \ if localsettings.DEBUG \ else 'Permission violation') if filetype == 'image' or content_type.startswith('image'): return handle_file_upload_image(enc, content, content_type, filetype, filename, flowgram) elif filetype in DOC_TYPE_EXTENSIONS: return handle_file_upload_doc(enc, content, content_type, filetype, filename, flowgram) elif filetype == 'media': page = None try: page_id = request.GET.get('page_id') page = models.Page.objects.get(id=page_id) except: pass if page and not permissions.can_edit(request.user, page): return error_response.create(enc, 'Does not have edit_page permission.' \ if localsettings.DEBUG \ else 'Permission violation') return handle_file_upload_media(enc, content, content_type, filetype, filename, \ page or flowgram) else: return error_response.create(enc, 'Unsupported file type')
def get_working_fg(request): enc = helpers.get(request, 'enc', 'json') if not request.user.is_authenticated(): return error_response.create(enc, 'Login required') return data_response.create(enc, 'ok', controller.get_working_flowgram(request.user)[0].id)
response = helpers.req_render_to_response(request, 'facebook/albums.html', {'html' : html}) return response @require_auth @login_required def create_fg_from_aid(request): facebook_token = request.session['facebook_token'] try: photos = minifb.call("facebook.photos.get", localsettings.FACEBOOK_API_KEY, FACEBOOK_API_SECRET_MINIFB, session_key=facebook_token, aid=request.GET["aid"]) except minifb.FacebookError, e: if e.error_code == 102: return HttpResponse("<script>top.location = \"%s\";</script>" % login_url()) raise fg, new = controller.get_working_flowgram(request.user) for photo in photos: title = photo["caption"] link = photo["src_big"] if title == "": title = "photo" html = "<html><head><title>%s</title>" \ "<style>@import url(\"/media/css/photo_importers.css\");</style>" \ "</head><body><img src=\"%s\" /></body></html>" % (title, link) page = Page(title=title, source_url=link) page = controller.create_page_to_flowgram(fg, page, html)