예제 #1
0
def _system_table(group_id):
    sid = c.session['store']

    if c.is_json():
        if c.is_GET():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                l = c.for_json_l(table_query(ss, sid, group_id).all())
                return c.jsonify(l)
        elif c.is_PUT():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                for k, v in c.data_POST().items():
                    ol = json.loads(k)
                    for o in ol:
                        r = c.newitem_web(orm.설정_테이블, c.session)
                        c.merge_(o, r)
                        r.group_id = group_id
                        r.issync = None
                        ss.merge(r)
                return 'modified'

    else:
        with orm.session_scope() as ss:  # type:c.typeof_Session
            if c.is_GET():
                gl = c.for_json_l(tablegroup_query(ss, sid).all())
                return c.display(item=c.newitem_web(orm.설정_테이블그룹, c.session),
                                 form_types=form_types, gl=gl, selected=group_id,
                                 TABLEBORDER_WIDTH=c.TABLEBORDER_WIDTH, TABLEBORDER_HEIGHT=c.TABLEBORDER_HEIGHT, )

    c.abort(404)
예제 #2
0
파일: menu1.py 프로젝트: sungbin2/pypos1
def _system_menu2():
    store_id = c.session['store']
    only = c.get_settings(orm, store_id)

    id = c.dict_item(orm, store_id)
    il = list(id.values())
    # print(id, il)
    form_types[0]['l'] = il

    if c.is_GET():
        if c.is_json():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                menu2 = ss.query(orm.상품_품목) \
                    .filter_by(s=store_id) \
                    .filter_by(isdel=c.X) \
                    .all()
                menu2 = c.for_json_l(menu2)
                menu2 = {i['i']: i for i in menu2}
                menu2[0] = {'품목명': '미지정', '단가': 0}
                return c.jsonify(d=only.j['메뉴'], l=menu2)
        else:
            return c.render_template('system/menu2.html',
                                     item=None, form_types=form_types,
                                     MENUBORDER_WIDTH=c.MENUBORDER_WIDTH, MENUBORDER_HEIGHT=c.MENUBORDER_HEIGHT, )
    elif c.is_POST():
        with orm.session_scope() as ss:  # type:c.typeof_Session
            next_one = c.newitem_web(orm.setting, c.session)
            next_one.j = only.j.copy()
            for each in c.data_POST():
                next_one.j['메뉴'] = c.json.loads(each)
            ss.add(next_one)
            return 'modified'
예제 #3
0
파일: board.py 프로젝트: sungbin2/pypos1
def _board_board_(_id):
    store_id = c.session['store']
    if c.is_GET():
        if True:  # c.is_json()
            l = []
            with orm.session_scope() as ss:  # type:c.typeof_Session
                q1 = ss.query(orm.상품_품목) \
                    .filter_by(s=store_id) \
                    .filter_by(isdel='X') \
                    .all()
                for x in q1:
                    dummy = x.__dict__.copy()
                    del dummy['_sa_instance_state']
                    for k, v in dummy.items():
                        if v is None:
                            dummy[k] = ''
                        elif isinstance(v, date):
                            dummy[k] = v.isoformat()
                        elif isinstance(v, datetime):
                            dummy[k] = v.isoformat(' ')
                    l.append(dummy)
            return c.jsonify(l)
    elif c.is_POST():
        with orm.session_scope() as ss:  # type:c.typeof_Session


            if c.data_POST()['i'] == '신규':

                only = c.newitem_web(orm.상품_품목, c.session)
                for k, v in c.data_POST().items():
                    if hasattr(only, k) and k != 'i':
                        if getattr(only, k) != v:
                            setattr(only, k, v)

                ss.add(only)
                return 'modified'

            elif c.data_POST()['i'] != '신규':
                only = c.simple_query(ss, orm.상품_품목, s=c.session['store'])

                for x in only:

                    if int(x.i) == int(c.data_POST()['i']):
                        for k, v in c.data_POST().items():
                            if hasattr(x, k) and k != 'i':
                                if getattr(x, k) != v:
                                    print(k, 'is changed')
                                    setattr(x, k, v)
                        x.issync = None
                        return 'modified'


            return 'modified'
예제 #4
0
def _system_menu(group_id):
    sid = c.session['store']
    id = c.dict_item(orm, sid)
    il = list(id.values())
    # print(id, il)
    form_types[0]['l'] = il

    if c.is_json():
        if c.is_GET():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                l = c.for_json_l(menu_query(ss, sid, group_id).all())
                for i in l:
                    try:
                        i['메뉴명'] = id[i['품목코드']]
                    except:
                        i['메뉴명'] = '미지정'
                return c.jsonify(l)
        elif c.is_PUT():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                for k, v in c.data_POST().items():
                    ol = json.loads(k)
                    for o in ol:
                        r = c.newitem_web(orm.설정_메뉴, c.session)
                        c.merge_(o, r)
                        r.group_id = group_id
                        try:
                            r.품목코드 = c.fs2i(o['메뉴명'].split('|', 1)[0].strip())
                        except:
                            r.품목코드 = 0
                        r.issync = None
                        ss.merge(r)
                return 'modified'

    else:
        with orm.session_scope() as ss:  # type:c.typeof_Session
            if c.is_GET():
                gl = c.for_json_l(menugroup_query(ss, sid).all())
                _g = [i for i in gl if i['id'] == group_id][0]
                return c.display(
                    item=c.newitem_web(orm.설정_메뉴그룹, c.session),
                    form_types=form_types,
                    gl=gl,
                    selected=group_id,
                    상하칸=_g['상하칸'],
                    좌우칸=_g['좌우칸'],
                    MENUBORDER_WIDTH=c.MENUBORDER_WIDTH,
                    MENUBORDER_HEIGHT=c.MENUBORDER_HEIGHT,
                )

    c.abort(404)
예제 #5
0
def _system_menu_():
    sid = c.session['store']

    with orm.session_scope() as ss:  # type:c.typeof_Session
        if c.is_GET():
            gl = menugroup_query(ss, sid).first()
            return c.redirect(c.url_for('_system_menu', group_id=gl.id))
예제 #6
0
def _get_store(store_id):
    with orm.session_scope() as ss:  # type:c.typeof_Session
        only = ss.query(orm.정보_가게) \
            .filter_by(no=store_id) \
            .one()

        return c.OBJ_cp(only)
예제 #7
0
def _get_account(store_id):
    with orm.session_scope() as ss:  # type:c.typeof_Session
        only = ss.query(orm.account) \
            .filter_by(s=store_id) \
            .one()

        return c.OBJ_cp(only)
예제 #8
0
파일: config.py 프로젝트: sungbin2/pypos1
def get_config(orm, store_id):
    with orm.session_scope() as ss:  # type:c.typeof_Session
        only = ss.query(orm.setting_기능설정) \
            .filter_by(s=store_id) \
            .order_by(ss.desc(orm.setting_기능설정.i)) \
            .first()
        return c.OBJ_cp(only)
예제 #9
0
파일: week.py 프로젝트: sungbin2/pypos
def _earnings_week_(_id):
    store_id = c.session['store']
    cnt_weeks = {}

    cnt = 0
    if c.is_GET():
        with orm.session_scope() as ss:  # type:c.typeof_Session
            lst = ss.query(orm.판매_품목) \
                .filter_by(isdel='X') \
                .filter(orm.판매_품목.d >= "2018-01-01") \
                .filter(orm.판매_품목.d <= "2018-12-31") \
                .all()

            for each in lst:
                d = each.d.strftime('%Y-%m-%d')
                if d not in cnt_weeks:
                    cnt_weeks[d] = {'영업일자': d,
                                   '총거래액': 0, '총할인액': 0, '실거래액': 0, '세금': 0, '판매이익': 0, '영수건수' : 0 }
                cnt_weeks[d]['총거래액'] += each.단가
                cnt_weeks[d]['총할인액'] += each.할인
                cnt_weeks[d]['실거래액'] += each.합계
                cnt_weeks[d]['세금'] += each.세
                cnt_weeks[d]['판매이익'] += (each.공급가 + each.면세)
                cnt_weeks[d]['영수건수'] += 1


        return c.jsonify(cnt_weeks)
    c.abort(404)
예제 #10
0
파일: printer.py 프로젝트: sungbin2/pypos
def _system_printer():
    store_id = c.session['store']
    only = c.get_settings(orm, store_id)
    available_networks = []
    networks = only.j['네트워크']
    adjusted = only.j['프린터']
    for each in networks:
        if each['enabled']:
            available_networks.append(each['기기명'])
    for each in adjusted:
        each['연결기기명'] = networks[each['network_id']]['기기명']
    for each in form_types:
        if each['name'] == '연결기기명':
            each['l'] = available_networks

    if c.is_GET():
        if c.is_json():
            return c.jsonify(adjusted)
        else:
            return c.display(thead=thead, form_types=form_types,
                             defnet=available_networks[0]
                             if len(available_networks) > 0
                             else '')
    elif c.is_POST():
        with orm.session_scope() as ss:  # type:c.typeof_Session
            next_one = c.newitem_web(orm.settings, c.session)
            next_one.j = only.j.copy()
            for each in c.data_POST():
                next_one.j['프린터'] = c.json.loads(each)
            for each in next_one.j['프린터']:
                for i in range(len(networks)):
                    if each['연결기기명'] == networks[i]['기기명']:
                        each['network_id'] = i
            ss.add(next_one)
            return 'modified'
예제 #11
0
def _system_receiptform_(store_id):
    only = c.get_setting_영수증서식(orm, store_id)

    if c.is_GET():
        if c.is_json():
            response = Response(response=json.dumps(only.j),
                                status=200,
                                mimetype='text/plain')

            return response

        else:
            return c.display()
    elif c.is_POST():
        if c.is_json():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                next_one = c.newitem_web(orm.setting_영수증서식, c.session)
                _j = c.data_json()
                for k in _j:
                    _j[k] = [
                        x for x in _j[k].split(c.EOL) if len(x.strip()) > 0
                    ]
                    # pp.pprint(_j)
                next_one.j = only.j.copy()
                k = 0

                for i in next_one.j:
                    for j in _j.keys():
                        if i == j:
                            next_one.j[j] = _j[j]
                        k = k + 1
                ss.add(next_one)
                return 'modified'
예제 #12
0
def _login():
    error = ''
    if c.is_GET():
        pass
    elif c.is_POST():
        with orm.session_scope() as ss:  # type:c.typeof_Session

            id = c.data_POST('user')
            pw = c.data_POST('password')

            account = ss.query(orm.account) \
                .filter_by(아이디=id) \
                .first()

            if account is None:
                error = '아이디 또는 패스워드를 잘못 입력하셨습니다.'
            elif c.pw_hash(pw) != account.패스워드:
                error = '아이디 / 패스워드를 잘못 입력하셨습니다.'
            else:
                c.account_session(orm, account, c.session)
                if account.s == 0:
                    return c.redirect('http://asp.van.or.kr:8082/window')
                return c.redirect(c.url_for('hello_world'))

    return c.display(error=error)
예제 #13
0
def _goods_itemgroup_(_id):
    store_id = c.session['store']
    if c.is_GET():
        if True:  # c.is_json()
            l = []
            with orm.session_scope() as ss:  # type:c.typeof_Session
                q1 = ss.query(orm.상품_분류) \
                    .filter_by(s=c.session['store']) \
                    .filter_by(isdel='X') \
                    .all()
                for x in q1:
                    dummy = x.__dict__.copy()
                    del dummy['_sa_instance_state']
                    for k, v in dummy.items():
                        if v is None:
                            dummy[k] = ''
                        elif isinstance(v, date):
                            dummy[k] = v.isoformat()
                        elif isinstance(v, datetime):
                            dummy[k] = v.isoformat(' ')
                    l.append(dummy)
            return c.jsonify(l)
    elif c.is_PUT():
        with orm.session_scope() as ss:  # type:c.typeof_Session

            temp = []
            for i in c.data_POST():
                for j in c.json.loads(i):
                    temp.append(j)

            only = c.simple_query(ss, orm.상품_분류, s=c.session['store'])
            for i in temp:
                if '코드' not in i:
                    only1 = c.newitem_web(orm.상품_분류, c.session)
                    only1.분류명 = i['대분류']
                    ss.add(only1)

                elif i['코드'] != None:

                    for x in only:
                        if x.i == i['코드']:
                            x.분류명 = i['대분류']
                            x.isdel = i['isdel']

            return 'modified'
예제 #14
0
파일: menugroup.py 프로젝트: sungbin2/pypos
def _system_menugroup_(_id):
    sid = c.session['store']

    if c.is_json():
        if c.is_GET():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                r = c.simple_query(ss, orm.설정_메뉴그룹, id=_id)
                return c.jsonify(c.for_json(r))
        elif c.is_POST():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                r = c.newitem_web(orm.설정_메뉴그룹, c.session)
                cnt = menugroup_query(ss, sid).count()
                r.번호 = cnt + 1
                for k, v in c.data_POST().items():
                    if hasattr(r, k) and k != 'id':
                        if getattr(r, k) != v:
                            setattr(r, k, v)
                ss.add(r)
                return 'added'
        elif c.is_PUT():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                r = c.simple_query(ss, orm.설정_메뉴그룹, id=_id)
                if r.sid == c.session['store']:
                    for k, v in c.data_POST().items():
                        if hasattr(r, k) and k != 'id':
                            if getattr(r, k) != v:
                                print(k, 'is changed')
                                setattr(r, k, v)
                    r.issync = None
                    return 'modified'
                else:
                    c.abort(403)
        elif c.is_DELETE():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                r = c.simple_query(ss, orm.설정_메뉴그룹, id=_id)
                if r.sid == c.session['store']:
                    r.isdel = c.O
                    l = menugroup_query(ss, sid).all()
                    for i in range(len(l)):
                        l[i].번호 = i + 1
                    r.issync = None
                    return 'deleted'
                else:
                    c.abort(403)
    c.abort(404)
예제 #15
0
def _goods_itemgroup_(_id):
    store_id = c.session['store']

    if c.is_json():
        if c.is_GET():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                only = c.simple_query(ss, orm.상품_분류, no=_id)
                return c.jsonify(c.for_json(only))
        elif c.is_POST():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                only = c.newitem_web(orm.상품_분류, c.session)
                cnt = itemgroup_query(ss, store_id).count()
                only.번호 = cnt + 1
                for k, v in c.data_POST().items():
                    if hasattr(only, k) and k != 'no':
                        if getattr(only, k) != v:
                            setattr(only, k, v)
                ss.add(only)
                return 'added'
        elif c.is_PUT():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                only = c.simple_query(ss, orm.상품_분류, no=_id)
                if only.s == c.session['store']:
                    for k, v in c.data_POST().items():
                        if hasattr(only, k) and k != 'no':
                            if getattr(only, k) != v:
                                print(k, 'is changed')
                                setattr(only, k, v)
                    only.issync = None
                    return 'modified'
                else:
                    c.abort(403)
        elif c.is_DELETE():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                only = c.simple_query(ss, orm.상품_분류, no=_id)
                if only.s == c.session['store']:
                    only.isdel = c.O
                    l = itemgroup_query(ss, store_id).all()
                    for i in range(len(l)):
                        l[i].번호 = i + 1
                    only.issync = None
                    return 'deleted'
                else:
                    c.abort(403)
    c.abort(404)
예제 #16
0
def _goods_item_upload_(_id):
    store_id = c.session['store']
    gd = c.dict_itemgroup(orm, store_id)
    if c.is_json():
        if c.is_GET():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                only = c.simple_query(ss, orm.상품_품목, no=_id)
                only.분류 = gd[only.분류no]
                return c.jsonify(c.for_json(only))
        elif c.is_POST():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                only = c.newitem_web(orm.상품_품목, c.session)
                for k, v in c.data_POST().items():
                    if hasattr(only, k) and k != 'no':
                        if getattr(only, k) != v:
                            setattr(only, k, v)
                only.분류no = c.fs2i(c.data_POST()['분류'].split('|',
                                                             1)[0].strip())
                ss.add(only)
                return 'added'
        elif c.is_PUT():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                only = c.simple_query(ss, orm.상품_품목, no=_id)
                if only.s == c.session['store']:
                    for k, v in c.data_POST().items():
                        if hasattr(only, k) and k != 'no':
                            if getattr(only, k) != v:
                                print(k, 'is changed')
                                setattr(only, k, v)
                    only.분류no = c.fs2i(c.data_POST()['분류'].split('|',
                                                                 1)[0].strip())
                    only.issync = None
                    return 'modified'
                else:
                    c.abort(403)
        elif c.is_DELETE():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                only = c.simple_query(ss, orm.상품_품목, no=_id)
                if only.s == c.session['store']:
                    only.isdel = c.O
                    only.issync = None
                    return 'deleted'
                else:
                    c.abort(403)
    c.abort(404)
예제 #17
0
def _system_menugroup():
    sid = c.session['store']

    if c.is_GET():
        if c.is_json():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                l = c.for_json_l(menugroup_query(ss, sid).all())
                return c.jsonify(l)
        return c.display(item=c.newitem_web(orm.설정_메뉴그룹, c.session),
                         thead=thead, form_types=form_types, id=sid)
예제 #18
0
def _goods_itemgroup():
    store_id = c.session['store']

    if c.is_GET():
        if c.is_json():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                lst = c.for_json_l(itemgroup_query(ss, store_id).all())
                return c.jsonify(lst)
        return c.display(item=c.newitem_web(orm.상품_분류, c.session),
                         thead=thead,
                         form_types=form_types,
                         no=store_id)
예제 #19
0
파일: store1.py 프로젝트: sungbin2/pypos1
def _info_store1_list():
    if c.is_GET():
        if True:  # c.is_json()
            l = []
            with orm.session_scope() as ss:  # type:c.typeof_Session
                q1 = ss.query(orm.공통_출력물관리) \
                    .filter_by(s=c.session['store']) \
                    .all()
                for x in q1:
                    dummy = x.__dict__.copy()
                    del dummy['_sa_instance_state']
                    for k, v in dummy.items():
                        if v is None:
                            dummy[k] = ''
                    l.append(dummy)
            return c.jsonify(l)
예제 #20
0
def _system_network():
    store_id = c.session['store']
    only = c.get_settings(orm, store_id)

    if c.is_GET():
        if c.is_json():
            return c.jsonify(only.j['네트워크'])
        else:
            return c.display(thead=thead, form_types=form_types)
    elif c.is_POST():
        with orm.session_scope() as ss:  # type:c.typeof_Session
            next_one = c.newitem_web(orm.settings, c.session)
            next_one.j = only.j.copy()
            for each in c.data_POST():
                next_one.j['네트워크'] = c.json.loads(each)
            ss.add(next_one)
            return 'modified'
예제 #21
0
def _info_account_(store_id):
    if c.is_GET():
        if c.is_json():
            return c.jsonify(_get_account(store_id).for_json())
        else:
            return c.display()
    elif c.is_POST() or c.is_PUT():
        with orm.session_scope() as ss:  # type:c.typeof_Session
            only = ss.query(orm.account) \
                .filter_by(s=store_id) \
                .one()
            if only.패스워드 == c.pw_hash(c.data_POST('구패스워드')):
                only.패스워드 = c.pw_hash(c.data_POST('패스워드'))
            else:
                return 'diffrent'

        return 'modified'
예제 #22
0
def _system_table2():
    shop_id = c.session['store']
    only = c.get_settings(orm, shop_id)

    if c.is_GET():
        if c.is_json():
            return c.jsonify(only.j['테이블'])
        else:
            return c.render_template('system/table2.html',
                                     item=None, form_types=form_types,
                                     TABLEBORDER_WIDTH=c.TABLEBORDER_WIDTH, TABLEBORDER_HEIGHT=c.TABLEBORDER_HEIGHT, )
    elif c.is_POST():
        with orm.session_scope() as ss:  # type:c.typeof_Session
            next_one = c.newitem_web(orm.setting, c.session)
            next_one.j = only.j.copy()
            for each in c.data_POST():
                next_one.j['테이블'] = c.json.loads(each)
            ss.add(next_one)
            return 'modified'
예제 #23
0
파일: staff.py 프로젝트: sungbin2/pypos1
def _info_staff_list():
    if c.is_GET():
        if True:  # c.is_json()
            l = []
            with orm.session_scope() as ss:  # type:c.typeof_Session
                q1 = ss.query(orm.정보_직원) \
                    .filter_by(s=c.session['store']) \
                    .all()
                for x in q1:
                    dummy = x.__dict__.copy()
                    del dummy['_sa_instance_state']
                    for k, v in dummy.items():
                        if v is None:
                            dummy[k] = ''
                        elif isinstance(v, date):
                            dummy[k] = v.isoformat()
                        elif isinstance(v, datetime):
                            dummy[k] = v.isoformat(' ')
                    l.append(dummy)
            return c.jsonify(l)
예제 #24
0
def _goods_item_modify():
    store_id = c.session['store']
    with orm.session_scope() as ss:  # type:c.typeof_Session
        gd = c.dict_itemgroup(orm, store_id)
        gl = list(gd.values())
        form_types[0]['l'] = gl
        # print(gd, gl)
        if c.is_GET():
            if c.is_json():
                l = c.for_json_l(
                    c.simple_query(ss, orm.상품_품목, s=store_id, order_by_asc='no'))
                for i in l:
                    i['분류'] = gd[i['분류no']]
                    i['idx'] = i['no']
                    i['enabled'] = True
                return c.jsonify(l)
            return c.display(item=c.newitem_web(orm.상품_품목, c.session),
                             thead=thead,
                             form_types=form_types,
                             no=store_id,
                             gl=gl)
예제 #25
0
파일: menugroup.py 프로젝트: sungbin2/pypos
def _system_menugroup_movedown(_id):
    sid = c.session['store']

    if c.is_json():
        if c.is_PUT():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                r = c.simple_query(ss, orm.설정_메뉴그룹, id=_id).번호
                l = menugroup_query(ss, sid).all()
                if sid == c.session['store']:
                    if r >= len(l):
                        return 'modified'
                    else:
                        for i in l:
                            if i.번호 == r:
                                i.번호 += 1
                            elif i.번호 == r + 1:
                                i.번호 -= 1
                    return 'modified'
                else:
                    c.abort(403)

    c.abort(404)
예제 #26
0
파일: config.py 프로젝트: sungbin2/pypos1
def _system_config_(store_id):
    only1 = get_config(orm, store_id)

    if c.is_GET():
        if c.is_json():
            response = Response(response=json.dumps(only1.j),
                                status=200,
                                mimetype='text/plain')

            return response
        else:
            return c.display()
    elif c.is_POST():
        if c.is_json():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                next_one = c.newitem_web1(orm.setting_기능설정, c.session)
                next_one.j = only1.j.copy()
                for each in c.data_POST():
                    next_one.j = c.json.loads(each)

                ss.add(next_one)
                return 'modified'
예제 #27
0
def _system_tablegroup_moveup(_id):
    sid = c.session['store']

    if c.is_json():
        if c.is_PUT():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                r = c.simple_query(ss, orm.설정_테이블그룹, id=_id).번호
                l = tablegroup_query(ss, sid).all()
                if sid == c.session['store']:
                    if r <= 1:
                        return 'modified'
                    else:
                        for i in l:
                            if i.번호 == r - 1:
                                i.번호 += 1
                            elif i.번호 == r:
                                i.번호 -= 1
                    return 'modified'
                else:
                    c.abort(403)

    c.abort(404)
예제 #28
0
파일: storepwd.py 프로젝트: sungbin2/pypos
def _info_storepwd(store_id):
    if c.is_GET():
        if c.is_json():
            return c.jsonify(_get_store(store_id).for_json())
        else:
            return c.display()
    elif c.is_POST() or c.is_PUT():
        with orm.session_scope() as ss:  # type:c.typeof_Session
            only = ss.query(orm.정보_가게) \
                .filter_by(no=store_id) \
                .one()
            for k, v in c.data_POST().items():
                if getattr(only, k) != v:
                    print(k, 'is changed')
                    if k in ['개점일', '폐점일']:
                        try:
                            setattr(only, k, parser.parse(v))
                        except:
                            setattr(only, k, None)
                    else:
                        setattr(only, k, v)
            only.issync = None
        return c.display()
예제 #29
0
파일: config1.py 프로젝트: sungbin2/pypos1
def _system_config1_(store_id):
    if c.is_json():
        if c.is_GET():
            d = {
                k + c.SEP + v['k']: v['v']
                for k, v in get_config1(store_id).items()
            }
            return c.jsonify(d)
        elif c.is_PUT():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                only = c.get_settings(orm, store_id)
                next_one = c.newitem_web(orm.settings, c.session)
                next_one.j = only.j.copy()
                for k, v in c.data_POST().items():
                    if c.SEP in k and 'checkbox' not in k:
                        _n = k.split(c.SEP, 1)[0]
                        _k = k.split(c.SEP, 1)[1]
                        _v = v
                        next_one.j['설정'][_n] = {'k': _k, 'v': _v}

                ss.add(next_one)
            return 'modified'

    c.abort(404)
예제 #30
0
def _system_menugroup_(_id):
    store_id = c.session['store']

    if c.is_json():
        if c.is_GET():
            with orm.session_scope() as ss:  # type:c.typeof_Session
                q1 = ss.query(orm.상품_분류) \
                    .filter_by(s=store_id) \
                    .filter_by(isdel='X') \
                    .all()
                for x in q1:
                    dummy = x.__dict__.copy()
                    del dummy['_sa_instance_state']
                    for k, v in dummy.items():
                        if v is None:
                            dummy[k] = ''
                        elif isinstance(v, date):
                            dummy[k] = v.isoformat()
                        elif isinstance(v, datetime):
                            dummy[k] = v.isoformat(' ')
                    l.append(dummy)
            return c.jsonify(l)

    c.abort(404)