Skip to content

Commit 79d8344

Browse files
authored
Merge pull request #1095 from readthedocs/davidfischer/flight-request-impression-calc
Calculate sold impressions/clicks based on supplied budget
2 parents 4587760 + 73951fb commit 79d8344

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

adserver/forms.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -903,6 +903,16 @@ def save(self, commit=True):
903903
for field in fields:
904904
setattr(self.instance, field, getattr(self.old_flight, field))
905905

906+
# Set sold impressions/clicks appropriately based on supplied budget
907+
if self.cleaned_data["budget"] > 0 and self.instance.cpm > 0:
908+
self.instance.sold_impressions = int(
909+
self.cleaned_data["budget"] * 1000 / float(self.instance.cpm)
910+
)
911+
elif self.cleaned_data["budget"] > 0 and self.instance.cpc > 0:
912+
self.instance.sold_clicks = int(
913+
self.cleaned_data["budget"] / float(self.instance.cpc)
914+
)
915+
906916
# We must set the campaign
907917
self.instance.campaign = (
908918
self.old_flight.campaign

0 commit comments

Comments
 (0)