Test coverage for vnccollab.theme.browser.wizarduploader

vnccollab/      covered 69% (1245 of 4098 uncovered)
    theme/      covered 69% (1245 of 4098 uncovered)
        browser/      covered 74% (507 of 1985 uncovered)
            wizarduploader.py      covered 92% (6 of 77 uncovered)

    1: from Acquisition import aq_inner
       
    1: from Products.CMFCore.utils import getToolByName
    1: from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
    1: from Products.ATContentTypes.interfaces import IImageContent
       
    1: from collective.quickupload import siteMessageFactory as _
    1: from collective.quickupload.browser.quick_upload import QuickUploadView, \
           QuickUploadInit, _listTypesForInterface
       
       
    2: class WizardUploadView(QuickUploadView):
           """ The Wizard Upload View
    1:     """
       
    1:     template = ViewPageTemplateFile("templates/wizard_upload.pt")
       
    1:     def script_content(self) :
    1:         context = aq_inner(self.context)
    1:         return context.unrestrictedTraverse('@@wizard_upload_init')(for_id = self.uploader_id)
       
       
       
       XHR_UPLOAD_JS = """
           var fillTitles = %(ul_fill_titles)s;
           var fillDescriptions = %(ul_fill_descriptions)s;
           var auto = %(ul_auto_upload)s;
           addUploadFields_%(ul_id)s = function(file, id) {
               var uploader = xhr_%(ul_id)s;
               WizardUpload.addUploadFields(uploader, uploader._element, file, id, fillTitles, fillDescriptions);
           }
           wizardUpload_NextStep_%(ul_id)s = function() {
               var uploader = xhr_%(ul_id)s;
               WizardUpload.wizardUpload_NextStep(uploader, 'xhr_%(ul_id)s');
           }
           sendDataAndUpload_%(ul_id)s = function(action) {
               var uploader = xhr_%(ul_id)s;
               WizardUpload.sendDataAndUpload(uploader, action); //, '%(typeupload)s');
           }
           clearQueue_%(ul_id)s = function() {
               var uploader = xhr_%(ul_id)s;
               WizardUpload.clearQueue(uploader, uploader._element);
           }
           onUploadComplete_%(ul_id)s = function(id, fileName, responseJSON) {
               var uploader = xhr_%(ul_id)s;
               WizardUpload.onUploadComplete(uploader, uploader._element, id, fileName, responseJSON);
           }
           createUploader_%(ul_id)s= function(){
               xhr_%(ul_id)s = new wizard_qq.WizardFileUploader({
                   element: jQuery('#%(ul_id)s')[0],
                   action: '%(context_url)s/@@quick_upload_file',
                   autoUpload: auto,
                   onAfterSelect: addUploadFields_%(ul_id)s,
                   onComplete: onUploadComplete_%(ul_id)s,
                   allowedExtensions: %(ul_file_extensions_list)s,
                   sizeLimit: %(ul_xhr_size_limit)s,
                   simUploadLimit: %(ul_sim_upload_limit)s,
                   template: '<div class="wizard_qq-uploader">' +
                             '<div class="wizard_qq-upload-button"></div>' +
                             '<ul class="wizard_qq-upload-list"></ul>' +
                             '</div>',
                   fileTemplate: '<li>' +
                           '<a class="wizard_qq-upload-cancel" href="#">&nbsp;</a>' +
                           '<div class="wizard_qq-upload-infos"><span class="wizard_qq-upload-file"></span>' +
                           '<span class="wizard_qq-upload-spinner"></span>' +
                           '<span class="wizard_qq-upload-failed-text">%(ul_msg_failed)s</span></div>' +
                           '<div class="wizard_qq-upload-size"></div>' +
                       '</li>',
                   messages: {
                       serverError: "%(ul_error_server)s",
                       serverErrorAlreadyExists: "%(ul_error_already_exists)s {file}",
                       serverErrorZODBConflict: "%(ul_error_zodb_conflict)s {file}, %(ul_error_try_again)s",
                       serverErrorNoPermission: "%(ul_error_no_permission)s",
                       serverErrorDisallowedType: "%(ul_error_disallowed_type)s",
                       typeError: "%(ul_error_bad_ext)s {file}. %(ul_error_onlyallowed)s {extensions}.",
                       sizeError: "%(ul_error_file_large)s {file}, %(ul_error_maxsize_is)s {sizeLimit}.",
                       emptyError: "%(ul_error_empty_file)s {file}, %(ul_error_try_again_wo)s",
                       missingExtension: "%(ul_error_empty_extension)s {file}"
                   }
               });
           }
           jQuery(document).ready(createUploader_%(ul_id)s);
    1: """
       
       
    2: class WizardUploadInit(QuickUploadInit):
           """ Initialize uploadify js
    1:     """
       
    1:     def __call__(self, for_id="uploader"):
    3:         self.uploader_id = for_id
    3:         settings = self.upload_settings()
       
    3:         if self.qup_prefs.use_flashupload or self.use_flash_as_fallback():
>>>>>> return FLASH_UPLOAD_JS % settings
3: return XHR_UPLOAD_JS % settings 1: def upload_settings(self): 5: context = aq_inner(self.context) 5: request = self.request 5: try: 5: session = request.get('SESSION', {}) 5: mediaupload = session.get('mediaupload', 5: request.get('mediaupload', '')) 5: typeupload = session.get('typeupload', 5: request.get('typeupload', ''))
>>>>>> except SessionDataManagerErr:
>>>>>> logger.debug('Error occurred getting session data. Falling back to '
'request.')
>>>>>> mediaupload = request.get('mediaupload', '')
>>>>>> typeupload = request.get('typeupload', '')
5: portal_url = getToolByName(context, 'portal_url')() 5: settings = dict( 5: portal_url = portal_url, 5: typeupload = '', 5: context_url = context.absolute_url(), 5: physical_path = "/".join(context.getPhysicalPath()), 5: ul_id = self.uploader_id, 5: ul_fill_titles = self.qup_prefs.fill_titles and 'true' or 'false', 5: ul_fill_descriptions = self.qup_prefs.fill_descriptions and 'true' or 'false', 5: ul_auto_upload = self.qup_prefs.auto_upload and 'true' or 'false', 5: ul_size_limit = self.qup_prefs.size_limit and str(self.qup_prefs.size_limit*1024) or '', 5: ul_xhr_size_limit = self.qup_prefs.size_limit and str(self.qup_prefs.size_limit*1024) or '0', 5: ul_sim_upload_limit = str(self.qup_prefs.sim_upload_limit), 5: ul_button_text = self._translate(_(u'Browse')), 5: ul_draganddrop_text = self._translate(_(u'Drag and drop files to upload')), 5: ul_msg_all_sucess = self._translate(_(u'All files uploaded with success.')), 5: ul_msg_some_sucess = self._translate(_(u' files uploaded with success, ')), 5: ul_msg_some_errors = self._translate(_(u" uploads return an error.")), 5: ul_msg_failed = self._translate(_(u"Failed")), 5: ul_error_try_again_wo = self._translate(_(u"please select files again without it.")), 5: ul_error_try_again = self._translate(_(u"please try again.")), 5: ul_error_empty_file = self._translate(_(u"Selected elements contain an empty file or a folder:")), 5: ul_error_empty_extension = self._translate(_(u"This file has no extension:")), 5: ul_error_file_large = self._translate(_(u"This file is too large:")), 5: ul_error_maxsize_is = self._translate(_(u"maximum file size is:")), 5: ul_error_bad_ext = self._translate(_(u"This file has invalid extension:")), 5: ul_error_onlyallowed = self._translate(_(u"Only allowed:")), 5: ul_error_no_permission = self._translate(_(u"You don't have permission to add this content in this place.")), 5: ul_error_disallowed_type = self._translate(_(u"This type of element is not allowed in this folder.",)), 5: ul_error_already_exists = self._translate(_(u"This file already exists with the same name on server:")), 5: ul_error_zodb_conflict = self._translate(_(u"A data base conflict error happened when uploading this file:")), 5: ul_error_server = self._translate(_(u"Server error, please contact support and/or try again.")), ) 5: settings['typeupload'] = typeupload 5: if typeupload : 2: imageTypes = _listTypesForInterface(context, IImageContent) 2: if typeupload in imageTypes : 2: ul_content_types_infos = self.ul_content_types_infos('image') else :
>>>>>> ul_content_types_infos = self.ul_content_types_infos(mediaupload)
else : 3: ul_content_types_infos = self.ul_content_types_infos(mediaupload) 5: settings['ul_file_extensions'] = ul_content_types_infos[0] 5: settings['ul_file_extensions_list'] = str(ul_content_types_infos[1]) 5: settings['ul_file_description'] = ul_content_types_infos[2] 5: return settings