If an image or a file is attached to the benefit, it should be deleted.
def process_unclaim(self, claim):
pass
+ def delete_claimed_benefit(self, claim):
+ claim.delete()
+
def validate_parameters(self):
pass
resp['ETag'] = '"{}"'.format(hashval)
resp.write(data)
return resp
+
+ def delete_claimed_benefit(self, claim):
+ InlineEncodedStorage('benefit_file').delete(claim.id)
+ super().delete_claimed_benefit(claim)
resp['ETag'] = '"{}"'.format(hashval)
resp.write(data)
return resp
+
+ def delete_claimed_benefit(self, claim):
+ InlineEncodedStorage('benefit_image').delete(claim.id)
+ super().delete_claimed_benefit(claim)
# itself.
if claimed_benefit.confirmed:
benefitclass.process_unclaim(claimed_benefit)
- claimed_benefit.delete()
+ benefitclass.delete_claimed_benefit(claimed_benefit)
+
# If this was a multiclaim we will need to renumber the existing ones
exec_no_result("WITH t AS (SELECT id, row_number() OVER (ORDER BY claimnum) AS r FROM confsponsor_sponsorclaimedbenefit WHERE benefit_id=%(bid)s) UPDATE confsponsor_sponsorclaimedbenefit SET claimnum=r FROM t WHERE confsponsor_sponsorclaimedbenefit.id=t.id", {
'bid': benefit.pk,
'id': name,
})
+ def delete(self, name):
+ curs = connection.cursor()
+ curs.execute("DELETE FROM util_storage WHERE key=%(key)s AND storageid=%(id)s", {
+ 'key': self.key,
+ 'id': name,
+ })
+
def inlineencoded_upload_path(instance, filename):
# Needs to exist for old migrations, but *NOT* in use