Index: openacs-4/packages/acs-subsite/www/user/portrait/erase-2.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/user/portrait/Attic/erase-2.tcl,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-subsite/www/user/portrait/erase-2.tcl	10 Jan 2007 21:22:11 -0000	1.4
+++ openacs-4/packages/acs-subsite/www/user/portrait/erase-2.tcl	29 May 2007 05:37:25 -0000	1.5
@@ -24,14 +24,24 @@
 
 ad_require_permission $user_id "write"
 
-db_dml portrait_delete "update cr_items
-set live_revision = NULL
-where item_id = (
-   select object_id_two
+set item_id [db_string item_id "select object_id_two
    from acs_rels
    where object_id_one = :user_id
-   and rel_type = 'user_portrait_rel')"
+   and rel_type = 'user_portrait_rel'"]
 
+set resized_item_id [image::get_resized_item_id -item_id $item_id]
+
+# Delete the resized version
+if {$resized_item_id ne ""} {
+    content::item::delete -item_id $resized_item_id
+}
+
+# Delete the relationship
+db_dml delete_rel "delete from acs_rels where object_id_two = :item_id and object_id_one = :user_id and rel_type = 'user_portrait_rel'"
+
+# Delete the item
+content::item::delete -item_id $item_id
+
 if {$return_url eq ""} {
     set return_url "/pvt/home"
 }
Index: openacs-4/packages/acs-subsite/www/user/portrait/upload-2.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/user/portrait/Attic/upload-2.tcl,v
diff -u -r1.14 -r1.15
--- openacs-4/packages/acs-subsite/www/user/portrait/upload-2.tcl	10 Jan 2007 21:22:11 -0000	1.14
+++ openacs-4/packages/acs-subsite/www/user/portrait/upload-2.tcl	29 May 2007 05:37:25 -0000	1.15
@@ -60,14 +60,15 @@
 	# couldn't find a match
 	set client_filename $upload_file
     }
-    
+
     if { ![empty_string_p [ad_parameter MaxPortraitBytes "user-info"]] 
          && $n_bytes > [ad_parameter MaxPortraitBytes "user-info"] } {
 	append exception_text "<li>Your file is too large.  The publisher of [ad_system_name] has chosen to limit portraits to [util_commify_number [ad_parameter MaxPortraitBytes "user-info"]] bytes.  You can use PhotoShop or the GIMP (free) to shrink your image.</li>\n"
 	incr exception_count
     }
 }
 
+
 if { $exception_count > 0 } {
     ad_return_complaint $exception_count $exception_text
     ad_script_abort
@@ -76,11 +77,15 @@
 # Wrap the whole creation along with the relationship in a big transaction
 # Just to make sure it really worked.
 
+
 db_transaction {
     set item_id [content::item::get_id_by_name -name "portrait-of-user-$user_id" -parent_id $user_id]
     if { $item_id eq ""} { 
 	# The user doesn't have a portrait relation yet
 	set item_id [content::item::new -name "portrait-of-user-$user_id" -parent_id $user_id -content_type image]
+	set resized_item_id ""
+    } else {
+	set resized_item_id [image::get_resized_item_id -item_id $item_id -size_name "thumbnail"]
     }
 
     # Load the file into the revision
@@ -98,9 +103,18 @@
 			 "portrait-of-user-$user_id"]
 
     content::item::set_live_revision -revision_id $revision_id
+    
+    if {$resized_item_id ne ""} {
+	# Delete the item
+	content::item::delete -item_id $resized_item_id
+
+	# Resize the item
+	image::resize -item_id $item_id -size_name "thumbnail"
+    }
+
     # Only create the new relationship if there does not exist one already
-   set user_portrait_rel_id [relation::get_id -object_id_one $user_id -object_id_two $item_id -rel_type "user_portrait_rel"]
-   if {$user_portrait_rel_id eq ""} {
+    set user_portrait_rel_id [relation::get_id -object_id_one $user_id -object_id_two $item_id -rel_type "user_portrait_rel"]
+    if {$user_portrait_rel_id eq ""} {
 	db_exec_plsql create_rel {}
     }
 }
Index: openacs-4/packages/acs-subsite/www/user/portrait/upload.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/user/portrait/upload.adp,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/acs-subsite/www/user/portrait/upload.adp	14 May 2007 20:30:25 -0000	1.6
+++ openacs-4/packages/acs-subsite/www/user/portrait/upload.adp	29 May 2007 05:37:25 -0000	1.7
@@ -12,7 +12,16 @@
 <form enctype="multipart/form-data" method=POST action="upload-2">
 @export_vars;noquote@
 <table>
+<if @portrait_p@ eq 1>
 <tr>
+<td colspan=2 align="center">
+<img src="/shared/portrait-bits.tcl?user_id=@current_user_id@"/>
+<br>
+(<a href="erase?return_url=@return_url;noquote@">Delete Portrait</a>)
+</td>
+</tr>
+</if>
+<tr>
 <td valign=top align=right>#acs-subsite.Filename#: </td>
 <td>
 <input type=file name=upload_file size=20><br>
Index: openacs-4/packages/acs-subsite/www/user/portrait/upload.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/user/portrait/upload.tcl,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/acs-subsite/www/user/portrait/upload.tcl	10 Jan 2007 21:22:11 -0000	1.6
+++ openacs-4/packages/acs-subsite/www/user/portrait/upload.tcl	29 May 2007 05:37:25 -0000	1.7
@@ -15,6 +15,22 @@
 
 set current_user_id [ad_conn user_id]
 
+set portrait_p [db_0or1row "checkportrait" {SELECT live_revision as revision_id, item_id
+          FROM acs_rels a, cr_items c
+          WHERE a.object_id_two = c.item_id
+          AND a.rel_type = 'user_portrait_rel'
+          AND a.object_id_one = :current_user_id
+          AND c.live_revision is not NULL
+} ]
+
+
+if { $portrait_p } {
+	set story [db_string "getstory" "select description from cr_revisions where revision_id = :revision_id"]
+} else {
+	set story ""
+	set revision_id ""
+}
+
 if {$user_id eq ""} {
     subsite::upload_allowed
     set user_id $current_user_id