def post(self, id=None): data = request.get_json(force=True, silent=False) if 'rewards' in data: reward_list = [] for reward in data['rewards']: reward_list.append(Reward(**reward)) data['rewards'] = reward_list if 'organization' in data: org = Organization.objects.get_or_404(id=data['organization']) data['organization'] = org if 'name' not in data: return helpers.api_error('Please enter an appropriate name for your project!', 400), 400 user = User.objects.get_or_404(id=data['creator']) for key, value in data.iteritems(): if key in ['start_date', 'end_date', 'fulfilled_date', 'published']: data[key] = datetime.strptime(value['date'], "%Y-%m-%d %H:%M:%S") else: data[key] = value data['creator'] = user proj = Project(**data) proj.updated = datetime.utcnow() try: proj.save() except ValidationError as e: return helpers.api_error(e.message, 400), 400 except NotUniqueError as e: return helpers.api_error(e.message, 409), 409 except Exception: return helpers.api_error("Something went wrong! Check your request parameters!", 500), 500 ml = MarketingList(project=proj.id, contacts=[], pledge_conversion=0, convert_conversion=0, total_donated=0) ml.save() return helpers.api_return("OK", proj.updated, proj.id, 'Project')
def post(self, id=None): data = request.get_json(force=True, silent=False) ml = MarketingList(**data) ml.updated = datetime.utcnow() try: ml.save() except ValidationError as e: return helpers.api_error(e.message, 400), 400 except NotUniqueError as e: return helpers.api_error(e.message, 409), 409 except Exception: return helpers.api_error("Something went wrong! Check your request parameters!", 500), 500 return helpers.api_return('OK', ml.updated, ml.id, 'MarketingList')