Пример #1
0
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()
Пример #2
0
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')
Пример #3
0
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()
Пример #4
0
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()
Пример #5
0
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
Пример #6
0
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'生成分享链接失败'
                }))