2019-07-30 21:29:24 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2020-06-12 20:03:43 +00:00
|
|
|
# License: AGPL-3.0-or-later WITH WTO-AP-3.0-or-later
|
|
|
|
# Full license explanation at https://github.com/houdiniproject/houdini/blob/master/LICENSE
|
2018-03-25 17:30:42 +00:00
|
|
|
module UpdateSupporter
|
2019-07-30 21:29:24 +00:00
|
|
|
def self.from_info(supporter, params)
|
2020-05-20 21:03:16 +00:00
|
|
|
supporter.update(params)
|
2019-07-30 21:29:24 +00:00
|
|
|
# GeocodeModel.delay.geocode(supporter)
|
|
|
|
supporter
|
|
|
|
end
|
2018-03-25 17:30:42 +00:00
|
|
|
|
|
|
|
# Bulk delete, meaning mark all supporters given by a query as deleted='t'
|
|
|
|
def self.bulk_delete(np_id, supporter_ids)
|
|
|
|
Qx.update(:supporters)
|
|
|
|
.set(deleted: true)
|
2019-07-30 21:29:24 +00:00
|
|
|
.where('id IN ($ids)', ids: supporter_ids)
|
|
|
|
.and_where('nonprofit_id=$id', id: np_id)
|
2018-03-25 17:30:42 +00:00
|
|
|
.returning('id')
|
|
|
|
.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.general_info(supporter_id, data)
|
|
|
|
Qx.update(:supporters).set(data).where(id: supporter_id).returning('*').ex.last
|
|
|
|
end
|
|
|
|
end
|