Esempio n. 1
0
def po_recommend_new(rid, user_id, name, reply_id=None):
    '''新建推荐'''
    #判定?
    rec_po = Po.mc_get(rid)
    if not rec_po:
        return
    from po_pos import po_pos_state_buzz
    po_pos_state_buzz(user_id, rec_po)

    recommend = po_new(
        CID_REC,
        user_id,
        name,
        state=STATE_ACTIVE,
        rid=rid
    )
    if recommend:
        recommend.feed_new()

        mc_po_recommend_id_by_rid_user_id.set(
            '%s_%s'%(rid, user_id),
            recommend.id
        )

        if reply_id:
            rr = RecRep(
                id=recommend.id,
                reply_id=reply_id
            )
            rr.save()


        return recommend
Esempio n. 2
0
def po_review_new(zsite_id, user_id, name):
    from model.zsite_member import zsite_member_can_admin
    if zsite_member_can_admin(zsite_id, user_id):
        state = STATE_ACTIVE
    else:
        state = STATE_PO_ZSITE_SHOW_THEN_REVIEW

    review = po_review_get(zsite_id, user_id)

    if review:
        if not name:
            po_review_rm(zsite_id, user_id)
        else:
            review.state = state
            review.name_ = name
            review.save()
    else:
        review = po_new(
            CID_REVIEW,
            user_id,
            name,
            state=state,
            zsite_id=zsite_id
        )
        if review:
            mc_po_review_id_get.set(
                '%s_%s'%(zsite_id, user_id),
                review.id
            )
            review.feed_new()

    if state == STATE_ACTIVE:
        mc_po_review_id_list_active_by_zsite_id.delete(zsite_id)
    return review
Esempio n. 3
0
def po_event_feedback_new(user_id, name, txt, good, event_id, event_user_id):
    if not name and not txt:
        return

    id = event_feedback_id_get(user_id, event_id)

    if id:
        m = Po.mc_get(id)
    else:
        m = po_new(CID_EVENT_FEEDBACK, user_id, name, STATE_ACTIVE, event_id)
        if m:
            id = m.id
            mc_event_feedback_id_get.set('%s_%s' % (user_id, event_id), id)
            m.feed_new()

            from buzz import buzz_event_feedback_new, mq_buzz_event_feedback_owner_new

            if user_id != event_user_id:
                rank_new(m, event_id, CID_EVENT_FEEDBACK)
                buzz_event_feedback_new(user_id, id, event_user_id)
            else:
                mq_buzz_event_feedback_owner_new(user_id, id)

            event_joiner_state_set_by_good(user_id, event_id, good)
    return m
Esempio n. 4
0
def po_event_feedback_new(user_id, name, txt, good, event_id, event_user_id):
    if not name and not txt:
        return

    id = event_feedback_id_get(user_id, event_id)

    if id:
        m = Po.mc_get(id)
    else:
        m = po_new(CID_EVENT_FEEDBACK, user_id, name, STATE_ACTIVE, event_id)
        if m:
            id = m.id
            mc_event_feedback_id_get.set('%s_%s' % (user_id, event_id), id)
            m.feed_new()

            from buzz import buzz_event_feedback_new , mq_buzz_event_feedback_owner_new

            if user_id != event_user_id:
                rank_new(m, event_id, CID_EVENT_FEEDBACK)
                buzz_event_feedback_new(user_id, id, event_user_id)
            else:
                mq_buzz_event_feedback_owner_new(user_id, id)

            event_joiner_state_set_by_good(user_id, event_id, good)
    return m
Esempio n. 5
0
def po_review_new(zsite_id, user_id, name):
    from model.zsite_member import zsite_member_can_admin
    if zsite_member_can_admin(zsite_id, user_id):
        state = STATE_ACTIVE
    else:
        state = STATE_PO_ZSITE_SHOW_THEN_REVIEW

    review = po_review_get(zsite_id, user_id)

    if review:
        if not name:
            po_review_rm(zsite_id, user_id)
        else:
            review.state = state
            review.name_ = name
            review.save()
    else:
        review = po_new(CID_REVIEW,
                        user_id,
                        name,
                        state=state,
                        zsite_id=zsite_id)
        if review:
            mc_po_review_id_get.set('%s_%s' % (zsite_id, user_id), review.id)
            review.feed_new()

    if state == STATE_ACTIVE:
        mc_po_review_id_list_active_by_zsite_id.delete(zsite_id)
    return review
Esempio n. 6
0
def _po_answer_new(user_id, name, txt, state, rid):
    if not name and not txt:
        return
    if not is_same_post(user_id, name, txt):
        m = po_new(CID_ANSWER, user_id, name, state, rid)
        if m:
            txt_new(m.id, txt)
            if state > STATE_SECRET:
                m.feed_new()
            return m
Esempio n. 7
0
def po_product_new(user_id, name, _info_json, zsite_id=0, state=STATE_ACTIVE):
    if not name and not _info_json :
        return
    info_json = json.dumps(dict(iter(_info_json)))
    if not is_same_post(user_id, name, info_json, zsite_id):
        m = po_new(CID_PRODUCT, user_id, name, state, 0, None, zsite_id)
        if m:
            txt_new(m.id, info_json)
            mc_product_id_list_by_com_id.delete(zsite_id)
            return m
Esempio n. 8
0
def _po_answer_new(user_id, name, txt, state, rid):
    if not name and not txt:
        return
    if not is_same_post(user_id, name, txt):
        m = po_new(CID_ANSWER, user_id, name, state, rid)
        if m:
            txt_new(m.id, txt)
            if state > STATE_SECRET:
                m.feed_new()
            return m
Esempio n. 9
0
def po_product_new(user_id, name, _info_json, zsite_id=0, state=STATE_ACTIVE):
    if not name and not _info_json:
        return
    info_json = json.dumps(dict(iter(_info_json)))
    if not is_same_post(user_id, name, info_json, zsite_id):
        m = po_new(CID_PRODUCT, user_id, name, state, 0, None, zsite_id)
        if m:
            txt_new(m.id, info_json)
            mc_product_id_list_by_com_id.delete(zsite_id)
            return m
Esempio n. 10
0
def po_question_new(user_id, name, txt, state, zsite_id):
    if not name and not txt:
        return
    name = name or time_title()
    if not is_same_post(user_id, name, txt, zsite_id):
        m = po_new(CID_QUESTION, user_id, name, state, zsite_id=zsite_id)
        if m:
            txt_new(m.id, txt)
            if state > STATE_SECRET:
                m.feed_new()
            return m
Esempio n. 11
0
def po_question_new(user_id, name, txt, state, zsite_id):
    if not name and not txt:
        return
    name = name or time_title()
    if not is_same_post(user_id, name, txt, zsite_id):
        m = po_new(CID_QUESTION, user_id, name, state, zsite_id=zsite_id)
        if m:
            txt_new(m.id, txt)
            if state > STATE_SECRET:
                m.feed_new()
            return m
Esempio n. 12
0
def _po_event_notice_new(user_id, event_id, name):
    o = po_new(CID_EVENT_NOTICE, user_id, name, STATE_ACTIVE, event_id)
    return o
Esempio n. 13
0
def _po_event_notice_new(user_id, event_id, name):
    o = po_new(CID_EVENT_NOTICE, user_id, name, STATE_ACTIVE, event_id)
    return o