def post(self): err = JsOb() user_id = self.current_user_id content = self.json if not content.slotType: err.slotType = u'SlotType can\'t be empty!' if not content.name: err.name = u'Slot Name can\'t be empty!' elif Slots.count(dict(name=content.name, appId=int(user_id))): err.name = u'The slot name {} has been used!'.format(content.name) if not err: user_id = self.current_user_id slot = Slots.edit(user_id, None, content.slotType, content.name) ps_network = NetWork.pingstart(user_id) adapter = ps_network.adapter_model.get( TYPE_MAP.get(content.slotType)) network = [ dict(network_id=ps_network._id, network_name=ps_network.name, is_auth=True, placement_id='publisher_id={user_id};slot_id={slot_id}'. format(user_id=user_id, slot_id=slot._id), is_paused=False, adapter=adapter, priority=0) ] slot.network = network slot.save() self.render(err)
def post(self): form = loads(self.request.body) err = JsOb() user = self.current_user if not form.get('email'): err.email = 'Please input email' else: emails = form['email'].replace(' ', '').split(';') for e in emails: if not is_email(e): err.email = 'Email not valid, email=%s' % e elif e not in user.email and User.count(dict(email=e, deleted=False)): err.email = "email %s already be used!" % e if not form.get('name'): err.name = 'Pleast input your name' elif form.get('name') != user.account and User.count(dict(account=form.get('name'), deleted=False)): err.name = 'name already be used!' if not form.get('password'): err.password = '******' elif form.get('password') != user.password and not is_valid_password(form.get('password')): err.password = '******' if not err: user = User._update_account(form.get('user_id'), **dict( email=form.get('email').replace(' ', '').split(';'), password=form.get('password'), account=form.get('name'), skype_id=form.get('skype_id'), phone=form.get('phone'), role_id=Role.affiliate()._id )) Affiliate._update(form.get('_id'), **form) self.render(err)
def post(self): err = JsOb() name = self.json.name if not name: err.name = u'Advertiser name can\'t be empty!' elif User.count(dict(account=name)): err.name = u'The name has been used!' emails = self.json.email if not emails: err.email = u'email can\'t be empty!' else: emails = emails.replace(' ', '').split(',') for e in emails: if not is_email(e): err.email = u'Email not valid, email=%s' % e elif User.count(dict(email=e, deleted=False)): err.email = u"email %s already be used!" % e password = self.json.password if not is_valid_password(password): err.password = u'The password not Valid!' skype_id = self.json.skype_id country = self.json.country account_manager = self.json.account_manager if not account_manager: err.account_manager = u'BD must selected!' pm = self.json.pm if not pm: err.pm = u'PM must selected!' status = self.json.status white_list = self.json.white_list white_list = white_list.split(',') if white_list else None if not err: user = User._create(**dict(email=emails, password=password, account=name, role_id=Role.advertiser()._id, skype_id=skype_id)) kw = dict( user_id=user._id, country=country, account_manager=int(account_manager) if account_manager else None, pm=int(pm) if pm else None, offer_count=0, white_list=white_list, status=status, ) advertiser = Advertisers._save(**kw) self.finish(dict(advertiser_id=user._id, err=False)) else: self.render(err)
def post(self, ad_id): err = JsOb() content = self.json ad = User.find_one(dict(_id=int(content.user_id))) if not content.name: err.name = u'Advertiser name can\'t be empty!' elif content.name != ad.account and User.count( dict(account=content.name)): err.name = u'The name has been used!' if not content.email: err.email = u'email can\'t be empty!' else: emails = content.email.replace(' ', '').split(',') for e in emails: if not is_email(e): err.email = u'Email not valid, email=%s' % e elif e not in ad.email and User.count( dict(email=e, deleted=False)): err.email = u"email %s already be used!" % e if content.password != ad.password and not is_valid_password( content.password): err.password = u'The password not Valid!' if not content.account_manager: err.bd = u'BD must selected!' if not content.pm: err.pm = u'PM must selected!' if not err: user = User._update( content.user_id, **dict(email=emails, password=content.password, account=content.name, skype_id=content.skype_id, role_id=Role.advertiser()._id)) kw = dict( country=content.country, account_manager=int(content.account_manager) if content.account_manager else None, pm=int(content.pm) if content.pm else None, white_list=content.white_list.split(',') if content.white_list else None, status=content.status, ) advertiser = Advertisers._update(ad_id, **kw) self.finish(dict(advertiser_id=user._id, err=False)) else: self.render(err)
def post(self): err = JsOb() user_id = self.current_user_id content = self.json network_id = content._id network = NWork.find_one(dict(_id=int(network_id))) name = content.name if name != network.name and NWork.count( dict(name=name, user_id=int(user_id))): err.name = u'This name has been used!' if not err: network.name = name network.auth_manager = content.auth_manager network.save() spec = dict( network={'$elemMatch': dict(network_id=int(network._id))}, deleted=False, ) slots = Slots.find(spec) for s in slots: for n in s.network: if n.get('network_id') == int(network._id): n['network_name'] = name s._id = int(s._id) s.save() self.render(err)
def post(self): err = JsOb() user_id = self.current_user_id content = self.json slot_id = content.slot_id slot_name = content.slot_name network = content.network app_black_list = content.appBlackList model = content.model slot = Slots.find_one(dict(_id=int(slot_id))) if slot_name != slot.name and Slots.count( dict(name=slot_name, appId=int(user_id), deleted=False)): err.name = u'This Slot Name has been used!' if not err: slot.name = slot_name for n in network: net_id = n.get('network_id') net = NetWork.find_one(dict(_id=int(net_id))) if n.get('auth_manager'): auth_manager = n.pop('auth_manager') net.auth_manager = auth_manager net.save() n['network_id'] = int(n['network_id']) n['adapter'] = net.adapter_model.get( TYPE_MAP.get(slot.slotType)) slot.network = network slot.model = model slot.appBlackList = app_black_list.split('\n') slot.last_operated = DateTime().today slot.save() self.render(err)
def post(self): err = JsOb() user_id = self.current_user_id content = self.json name = content.name if NWork.count(dict(name=name, user_id=int(user_id))): err.name = u'This NetWork Name has been used!' if not err: adapter = content.adapter auth_manager = content.auth_manager sdk = content.sdk NWork.create(user_id=user_id, name=name, adapter=adapter, auth_manager=auth_manager, sdk=sdk) self.render(err)