def saveSfdcCampaignsToMaster(user_id=None, company_id=None, job_id=None, run_type=None): #job_id = ObjectId("56d25c6af6fd2a15df46cd60") if run_type == 'initial': campaigns = TempData.objects(Q(company_id=company_id) & Q(record_type='campaign') & Q(source_system='sfdc') & Q(job_id=job_id) ).only('source_record') #& Q(job_id=job_id) else: campaigns = TempDataDelta.objects(Q(company_id=company_id) & Q(record_type='campaign') & Q(source_system='sfdc') & Q(job_id=job_id) ).only('source_record') #& Q(job_id=job_id) campaignListTemp = list(campaigns) campaignList = [i['source_record'] for i in campaignListTemp] try: for newCampaign in campaignList: #['records']: #company_id = request.user.company_id guid = 'sfdc_' + str(newCampaign['Id']) Campaign.objects(Q(guid = guid) & Q(company_id=company_id)).modify(upsert=True, new=True, set__campaigns__sfdc = newCampaign, set__updated_date = datetime.utcnow, set_on_insert__source_system = 'sfdc', set_on_insert__guid = guid, set_on_insert__company_id = company_id) # for oldCampaign in campaignList['records']: # # mktoCampaigns = [] # # mktoCampaigns.append(campaign) # campaign = Campaign() # campaign.company_id = request.user.company_id # campaign.derived_id = 'sfdc_' + str(oldCampaign['Id']) # campaign.campaigns["sfdc"] = oldCampaign # campaign.save() except Exception as e: print 'error while saving sfdc campaign: ' + str(e) send_notification(dict( type='error', success=False, message=str(e) ))
def new_campaign(request): if request.is_ajax(): if (request.POST.get("author") == request.user.username): c = Campaign() c.creator = request.user c.owner = request.user c.title = request.POST.get("title") c.description = request.POST.get("description") c.private = request.POST.get("private") if (request.POST.get("hasImg") == "true"): c.img = request.FILES['img'] c.save() return HttpResponse(json.dumps(str(c.id)), content_type="application/json") else: return HttpResponse(json.dumps("invalid credentials"), content_type="application/json") else: return Http404
def test_campaign_is_related_to_user(self): user_ = User.objects.create_user('Flumphy', '*****@*****.**', 'dire565Flumpher') user_.save() _campaign = Campaign() _campaign.Name = 'Test of the Flumph' _campaign.save() _campaign.Users.add(user_) _campaign.save() self.assertIn(_campaign, user_.campaigns.all())
def restore_object(self, attrs, instance=None): """ Create or update a new snippet instance, given a dictionary of deserialized field values. Note that if we don't define this method, then deserializing data will simply return a dictionary of items. """ if instance: # Update existing instance instance.name = attrs.get('name', instance.name) instance.slug = attrs.get('slug', instance.slug) instance.ended_at = attrs.get('ended_at', instance.ended_at) return instance # Create new instance return Campaign(**attrs)
def get_context_data(self, **kwargs): from campaigns.models import Campaign kwargs['current_campaign'] = Campaign.get_latest_top_level_campaign() return super(HomepageView, self).get_context_data(**kwargs)
def post(self, request): attrs = json.loads(request.body) campaign = Campaign() return self.update_attrs(request, campaign, attrs)