Commit e0f4d5e7 authored by Jim Fulton's avatar Jim Fulton

Changed to support separate Image and File objects.

parent aa2ca37e
"""Folder object
$Id: Folder.py,v 1.16 1997/11/10 14:53:13 jim Exp $"""
$Id: Folder.py,v 1.17 1997/11/10 16:30:47 jim Exp $"""
__version__='$Revision: 1.16 $'[11:-2]
__version__='$Revision: 1.17 $'[11:-2]
from Globals import HTMLFile
......@@ -146,7 +146,8 @@ class PUTer:
return self._parent.manage_addDocument(name,'',BODY,
REQUEST=REQUEST)
i=Image.Image()
if lower(type)[:6]=='image/': i=Image.Image()
else: i=Image.File()
i._init(name, BODY, type)
i.title=''
i._setRoles('A',[])
......
"""Image object"""
__version__='$Revision: 1.11 $'[11:-2]
__version__='$Revision: 1.12 $'[11:-2]
from Persistence import Persistent
from Globals import HTMLFile
......@@ -9,13 +9,13 @@ from AccessControl.Role import RoleManager
import SimpleItem
import Acquisition
class Image(Persistent,RoleManager,SimpleItem.Item_w__name__,
class File(Persistent,RoleManager,SimpleItem.Item_w__name__,
Acquisition.Implicit):
"""Image object"""
meta_type='Image'
icon ='OFS/Image_icon.gif'
meta_type='File'
icon ='OFS/File_icon.gif'
manage_editForm =HTMLFile('OFS/imageEdit')
manage_editForm =HTMLFile('OFS/imageEdit', Kind='File', kind='file')
manage=manage_main=manage_editForm
def manage_edit(self,title,content_type,
......@@ -56,8 +56,7 @@ class Image(Persistent,RoleManager,SimpleItem.Item_w__name__,
RESPONSE['content-type']=self.content_type
return self.data
def __str__(self):
return '<IMG SRC="%s" ALT="%s">' % (self.__name__, self.title_or_id())
def __str__(self): return self.data
def __len__(self):
# This is bogus and needed because of the way Python tests truth.
......@@ -72,12 +71,23 @@ class Image(Persistent,RoleManager,SimpleItem.Item_w__name__,
if type: self.content_type=type
except KeyError: pass
class Image(File):
meta_type='Image'
icon ='OFS/Image_icon.gif'
manage=manage_editForm=HTMLFile('OFS/imageEdit', Kind='Image', kind='image')
def __str__(self):
return '<IMG SRC="%s" ALT="%s">' % (self.__name__, self.title_or_id())
class ImageHandler:
"""Image object handler mixin"""
#meta_types=({'name':'Image', 'action':'manage_addImageForm'},)
manage_addImageForm=HTMLFile('OFS/imageAdd')
manage_addFileForm=HTMLFile('OFS/imageAdd', Kind='File', kind='file')
manage_addImageForm=HTMLFile('OFS/imageAdd', Kind='Image', kind='image')
def manage_addImage(self,id,file,title='',acl_type='A',acl_roles=[],
REQUEST=None):
......@@ -89,6 +99,16 @@ class ImageHandler:
self._setObject(id,i)
return self.manage_main(self,REQUEST)
def manage_addFile(self,id,file,title='',acl_type='A',acl_roles=[],
REQUEST=None):
"""Add a new Image object"""
i=File()
i._init(id,file)
i.title=title
i._setRoles(acl_type,acl_roles)
self._setObject(id,i)
return self.manage_main(self,REQUEST)
def imageIds(self):
t=[]
for i in self.objectMap():
......@@ -108,3 +128,23 @@ class ImageHandler:
n=i['id']
t.append((n,getattr(self,n)))
return t
def fileIds(self):
t=[]
for i in self.objectMap():
if i['meta_type']=='File': t.append(i['id'])
return t
def fileValues(self):
t=[]
for i in self.objectMap():
if i['meta_type']=='File': t.append(getattr(self,i['id']))
return t
def fileItems(self):
t=[]
for i in self.objectMap():
if i['meta_type']=='File':
n=i['id']
t.append((n,getattr(self,n)))
return t
......@@ -8,13 +8,14 @@
#
##############################################################################
__doc__='''OFS
$Id: __init__.py,v 1.1 1997/11/07 19:31:42 jim Exp $'''
__version__='$Revision: 1.1 $'[11:-2]
$Id: __init__.py,v 1.2 1997/11/10 16:32:54 jim Exp $'''
__version__='$Revision: 1.2 $'[11:-2]
import Session
__.meta_types=(
{'name':'Session', 'action':'manage_addSessionForm'},
{'name':'File', 'action':'manage_addFileForm'},
{'name':'Image', 'action':'manage_addImageForm'},
{'name':'Folder', 'action':'manage_addFolderForm'},
{'name':'Document', 'action':'manage_addDocumentForm'},
......@@ -31,6 +32,9 @@ __.methods={
##############################################################################
#
# $Log: __init__.py,v $
# Revision 1.2 1997/11/10 16:32:54 jim
# Changed to support separate Image and File objects.
#
# Revision 1.1 1997/11/07 19:31:42 jim
# *** empty log message ***
#
......
<HTML>
<HEAD>
<TITLE>Add Image</TITLE>
<TITLE>Add <!--#var Kind--></TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" LINK="#000099" VLINK="#555555">
<H2>Add Image</H2>
<H2>Add <!--#var Kind--></H2>
<P>
You can create a new image in the system using the form below.
Select an image from your local computer by clicking the <I>Browse</I>
button. The image file you select will be uploaded to the application.
You can create a new <!--#var kind--> in the system using the form below.
Select an <!--#var kind--> from your local computer by clicking the
<em>Browse</em> button. The <!--#var kind--> you select will be uploaded
to the application.
<FORM ACTION="manage_addImage" METHOD="POST"
<FORM ACTION="manage_add<!--#var Kind-->" METHOD="POST"
ENCTYPE="multipart/form-data" TARGET="manage_main">
<TABLE CELLSPACING="2">
<TR>
......@@ -30,7 +31,7 @@
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<STRONG>Image</STRONG>
<STRONG><!--#var Kind--></STRONG>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<INPUT TYPE="file" NAME="file" SIZE="25" VALUE="">
......
<HTML>
<HEAD>
<TITLE>Edit Image</TITLE>
<TITLE>Edit <!--#var Kind--></TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" LINK="#000099" VLINK="#555555">
<H2>Edit Image</H2>
<H2>Edit <!--#var Kind--></H2>
<H3>Edit Image Properties</H3>
<H3>Edit <!--#var Kind--> Properties</H3>
<FORM ACTION="manage_edit" METHOD="POST" TARGET="manage_main">
<TABLE CELLSPACING="2">
......@@ -37,7 +37,7 @@
<H3>Upload New Data</H3>
You can update data in the image using the form below.
You can update data in the <!--#var kind--> using the form below.
Select a data file from your local computer by clicking the <EM>Browse</EM>
button. The file you select will be uploaded to the application.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment