def insertShare(request, mid, suname): if request.user.is_authenticated(): try : tempUser = User.objects.get(username=suname) su = SylvieUser.objects.get(user=tempUser) m = Map.objects.get(mid=mid) s = Share(mid=m, suid=su) s.save() return success() except: return failure() return failure()
def ajax_share(request): user_id = request.user_id share_uuid = request.POST.get('share_uuid', '') last_share_uuid = request.POST.get('last_share_uuid', '') job_uuid = request.POST.get('job_uuid', '') recommend_uuid = request.POST.get('recommend_uuid', '') data = "" if job_uuid: # 分享职位详情 job_details = Job.objects.filter(uuid=job_uuid)[:1] if job_details: if last_share_uuid: shares = Share.objects.filter(uuid=last_share_uuid)[:1] if not shares: return HttpResponse("十分抱歉,获取上个人推荐信息失败,请重试。重试失败请联系客服人员") last_share_id = shares[0].id else: last_share_id = 0 job_share = Share(user_id=user_id, uuid=share_uuid, job_id=job_details[0].id, last_share_id=last_share_id) job_share.save() data = "ok" else: log.error("uid(%s) try to get not exsit job(%s), maybe attack" % (user_id, job_uuid)) return HttpResponse("十分抱歉,获取职位信息失败,请重试。重试失败请联系客服人员") if recommend_uuid: # 分享带录音的职位详情 recommends = MyRecommend.objects.filter(uuid=recommend_uuid)[:1] if recommends: if last_share_uuid: shares = Share.objects.filter(uuid=last_share_uuid)[:1] if not shares: return HttpResponse("十分抱歉,获取上个人推荐信息失败,请重试。重试失败请联系客服人员") last_share_id = shares[0].id else: last_share_id = 0 job_share = Share(user_id=user_id, uuid=share_uuid, recommend_id=recommends[0].id, last_share_id=last_share_id) job_share.save() data = "ok" else: log.error( "uid(%s) try to get not exsit recommend(%s), maybe attack" % (user_id, recommend_uuid)) return HttpResponse("十分抱歉,获取推荐信息失败,请重试。重试失败请联系客服人员") return HttpResponse(data, content_type='application/json')
def _create_share(form): article = Article.query.filter_by(url=form.url.data).first() if not article: article = Article(form.url.data) article.save() user = User.query.filter_by(email=form.friend.data).first() if not user: user = User(form.friend.data) user.save() share = Share(current_user, user, article) share.save() parse_article(article, share) return "Successfully shared to %s" % user.get_name()
def post_share(user, obj): ''' ''' v = Share.objects.filter(user=user, object_id=obj.id) if v: return v[0] if user == obj.user: return True d = Dynamic(column=user.userprofile.get_column(), content_object=obj) share = Share(user=user, content_object=obj) if isinstance(obj, Link): d.way = WAY_LINK_SHARE share.way = 'l' elif isinstance(obj, Discuss): d.way = WAY_DISCUSS_SHARE share.way = 'd' elif isinstance(obj, Comment): share.way = 'c' share.comment_object = obj.content_object if isinstance(obj.content_object, Link): d.way = WAY_LINK_COMMENT_SHARE d.comment_object = obj.content_object elif isinstance(obj.content_object, Discuss): d.way = WAY_DISCUSS_COMMENT_SHARE d.comment_object = obj.content_object else: return False else: return False d.save() obj.n_share += 1 obj.save() UserData.objects.filter(user=user).update(n_shares=F('n_shares') + 1) share.save() return share
def share(request): """ 点击分享,分享包括代码,当前结果(指数,图表), ajax方法,成功后返回生成的唯一url :param request: strategy_id 策略id svg_content svg dom元素 <svg>...</svg> result_params table dom元素 <table>...</table> title 分享帖子的标题 comment_content 分享帖子的content :return: """ if request.method == 'POST': account_info = request.session.get('account') account = Account.objects.get(id=account_info['id']) strategy_id = request.POST.get("strategy_id") strategy = Strategy.objects.get(id=strategy_id) #生成唯一url # /share/<identifier> # identifier由account id strategy id time hash 成 date = datetime.now() share_code = md5('_'.join([ str(account_info['id']), strategy_id, date.strftime("%Y%m%d%H%M%S") ])).hexdigest() result_params = request.POST.get('result_params') svg_content = request.POST.get('svg_content') #保存分享时代码 share_code_path = store_share_code(account_info['id'], strategy_id, strategy.file_path, share_code) if share_code_path is None: return HttpResponse( json.dumps({ 'status': 'error', 'data': u'分享失败' })) share = Share(account_id=account, strategy_id=strategy, url=share_code, date=date, share_code_path=share_code_path, result_params=result_params, svg_content=svg_content) try: share.save() #分享链接成功后调接口发帖 title = request.POST.get('title', u'策略分享') comment_content = request.POST.get('comment_content', '') content = concat_comment( comment_content, { 'code': get_share_code(share_code_path), 'result_params': result_params, 'svg_content': svg_content }) comment_id, flag = post_comment(account_id=account_info['id'], title=title, content=content) if not flag: return HttpResponse( json.dumps({ 'status': 'error', 'data': '分享链接失败' })) return HttpResponse( json.dumps({ 'status': 'ok', #TODO 'data': u'分享成功,快去社区看看吧' })) except Exception, e: social_log.error("==========Social Error", e) return HttpResponse( json.dumps({ 'status': 'error', 'data': u'生成分享链接失败' }))