Skip to content

Commit

Permalink
Merge branch 'master' of github.com:collective/collective.nitf
Browse files Browse the repository at this point in the history
  • Loading branch information
hvelarde committed Jan 16, 2012
2 parents 87ad5ea + 47834fa commit db443e3
Show file tree
Hide file tree
Showing 14 changed files with 14 additions and 1,984 deletions.
1 change: 1 addition & 0 deletions setup.py
Expand Up @@ -38,6 +38,7 @@
'plone.app.dexterity>=1.1',
'plone.app.referenceablebehavior',
'plone.app.relationfield',
'collective.upload'
],
extras_require={
'test': ['plone.app.testing'],
Expand Down
102 changes: 2 additions & 100 deletions src/collective/nitf/browser.py
Expand Up @@ -2,6 +2,7 @@

import json
import math
from inspect import ismethod

from Acquisition import aq_inner

Expand All @@ -10,6 +11,7 @@
from zope.component import queryMultiAdapter
from zope.interface import Interface

from Products.Archetypes.utils import shasattr
from Products.ATContentTypes.interfaces import IATLink
from Products.CMFPlone.utils import getToolByName

Expand Down Expand Up @@ -201,103 +203,3 @@ class NITF(dexterity.DisplayForm):
class Organize(dexterity.DisplayForm):
grok.context(INITF)
grok.require('cmf.ModifyPortalContent')


class Media_Uploader(dexterity.DisplayForm):
grok.context(INITF)
grok.require('cmf.ModifyPortalContent')

files = []

def __call__(self, *args, **kwargs):
if hasattr(self.request, "REQUEST_METHOD"):
json_view = queryMultiAdapter((self.context, self.request),
name=u"api")
if self.request["REQUEST_METHOD"] == "POST":
if getattr(self.request, "files[]", None) is not None:
files = self.request['files[]']
uploaded = self.upload([files])
if uploaded and json_view:
upped = []
for item in uploaded:
upped.append(json_view.getContextInfo(item))
return json_view.dumps(upped)
return json_view()
return super(Media_Uploader, self).__call__(*args, **kwargs)

def upload(self, files):
loaded = []
namechooser = INameChooser(self.context)
if not isinstance(files, list):
files = [files]
for item in files:
if item.filename:
content_type = item.headers.get('Content-Type')
id_name = namechooser.chooseName(item.filename, self.context)
portal_type = 'File'
if content_type in IMAGE_MIMETYPES:
portal_type = 'Image'
try:
self.context.invokeFactory(portal_type, id=id_name, file=item)
self.context[id_name].reindexObject()
newfile = self.context[id_name]
loaded.append(newfile)
except:
pass
if loaded:
return loaded
return False


class JSON_View(grok.View):
grok.context(INITF)
grok.name('api')
grok.require('cmf.ModifyPortalContent')

json_var = {'name': 'File-Name.jpg',
'size': 999999,
'url': '\/\/nohost.org',
'thumbnail_url': '//nohost.org',
'delete_url': '//nohost.org',
'delete_type': 'DELETE',
}

def __call__(self):
self.response.setHeader('Content-Type', 'text/plain')
return super(JSON_View, self).__call__()

def dumps(self, json_var=None):
""" """
if json_var is None:
json_var = {}
return json.dumps(json_var)

def getContextInfo(self, context=None):
if context is None:
context = self.context
context = aq_inner(context)

context_state = queryMultiAdapter((context, self.request),
name=u'plone_context_state')
context_name = context_state.object_title()
context_url = context_state.object_url()
del_url = context_url
info = {'name': context_name,
'url': context_url,
'size': context.size(),
'delete_url': del_url,
'delete_type': 'DELETE',
}
if context.Type() == 'Image':
info['thumbnail_url'] = context_url + '/image_thumb'
return info

def getContainerInfo(self):
contents = []
for item in self.context.objectIds():
item_info = self.getContextInfo(self.context[item])
contents.append(item_info)
return contents

def render(self):
return self.dumps(self.getContainerInfo())
9 changes: 4 additions & 5 deletions src/collective/nitf/profiles/default/browserlayer.xml
@@ -1,6 +1,5 @@
<?xml version="1.0"?>
<!-- Register the package-specific browser layer, so that it will be activated when this package is installed. -->
<layers>
<layer name="collective.nitf.layer"
interface="collective.nitf.interfaces.INITFBrowserLayer" />
</layers>
<layers>
<layer name="collective.nitf.layer"
interface="collective.nitf.interfaces.INITFBrowserLayer" />
</layers>
1 change: 1 addition & 0 deletions src/collective/nitf/profiles/default/metadata.xml
Expand Up @@ -4,5 +4,6 @@
<dependency>profile-plone.app.dexterity:default</dependency>
<dependency>profile-plone.app.registry:default</dependency>
<dependency>profile-collective.js.jqueryui:default</dependency>
<dependency>profile-collective.upload:default</dependency>
</dependencies>
</metadata>
Expand Up @@ -31,6 +31,7 @@
<element value="plone.app.dexterity.behaviors.metadata.IDublinCore" />
<element value="plone.app.referenceablebehavior.referenceable.IReferenceable" />
<element value="plone.app.relationfield.behavior.IRelatedItems" />
<element value="collective.upload.behaviors.IMultipleUpload" />
</property>

<!-- View information -->
Expand Down Expand Up @@ -61,9 +62,4 @@
i18n:attributes="title">
<permission value="Modify portal content"/>
</action>
<action title="Media Uploader" action_id="media_uploader" category="folder" condition_expr=""
url_expr="string:${object_url}/@@media_uploader" visible="True"
i18n:attributes="title">
<permission value="Modify portal content"/>
</action>
</object>
10 changes: 5 additions & 5 deletions src/collective/nitf/profiles/uninstall/browserlayer.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<layers>
<layer name="collective.nitf.layer"
interface="collective.nitf.interfaces.INITFBrowserLayer"
remove="true" />
</layers>
<layers>
<layer name="collective.nitf.layer"
interface="collective.nitf.interfaces.INITFBrowserLayer"
remove="True" />
</layers>
130 changes: 0 additions & 130 deletions src/collective/nitf/static/application.js

This file was deleted.

0 comments on commit db443e3

Please sign in to comment.