def try_login(request): if request.method == 'POST': try: req = simplejson.loads(request.body) username = req['username'] password = req['password'] user = authenticate(username=username, password=password) except: return json.post_error else: if user is not None: if user.is_active: try: if req['longtime']: request.session.set_expiry(datetime.now() + timedelta(days=365)) except: time = req['time'] if time == False: request.session.set_expiry(0) else: request.session.set_expiry(691200) login(request, user) login_return = {} login_return.update(initialization(request)) return json.success(login_return) else: return json.what_error('username&password error') else: return json.what_error('username&password error') else: return json.no_post
def work_order_change(request): try: req = simplejson.loads(request.body) work_order = Work_Situation.objects.get(id=req['id']) if work_order.status == 1: json.what_error('Has been completed') work_order.status = req['status'] work_order.introduction = req['introduction'] for who in req['who']: if User.objects.get(username=who) in work_order.who_do.all(): pass else: work_order.who_do.add(User.objects.get(username=who)) except: return json.post_error else: his = History.objects.create() his.to_id = work_order.id his.to_who = 1 his.record = 'change:status=' + str(work_order.status) + ' introduction=' + work_order.introduction his.who_do = request.user.username his.name = User.objects.get(username=request.user.username).last_name for who in req['who']: his.who.add(User.objects.get(username=who)) his.save() work_order.save() return json.ok
def check_in(request): wd = User.objects.get(username=request.user.username).personal.week_day try: ex = Extra_Work.objects.filter(work_number=request.user.username).order_by('id').reverse()[0] if (ex.status != 1 or ex.extra_work_time != str(datetime.now().date()) + ':16.30') and wd != int( datetime.today().weekday()): if wd == 7: pass else: return json.what_error('not check in time') except: if wd != int(datetime.today().weekday()): if wd == 7: pass else: return json.what_error('not check in time') try: if Check_In.objects.filter(work_number=request.user.username).order_by('id').reverse()[0].check == 0: return json.what_error('had been check') except: pass try: req = simplejson.loads(request.body) toolkit = req['toolkit'] if toolkit == True: check = Check_In.objects.create(work_number=request.user.username, check_in_area=req['area'], cable=req['cable'], port_module=req['port_module'], crimping_Tool=req['crimping_Tool'], screwdriver=req['screwdriver'], crystal_Head=req['crystal_Head'], switch=req['switch'], taken_toolkit=True, measuring_line=req['measuring_line'], user=User.objects.get(username=request.user.username)) if req['key']: check.key = req['key'] else: check.key = False if req['hunt']: check.hunt = req['hunt'] else: check.hunt = False if req['detailed_description']: check.detailed_description = req['detailed_description'] else: check = Check_In.objects.create(work_number=request.user.username, check_in_area=req['area'], taken_toolkit=False, detailed_description='', cable=False, crimping_Tool=False, switch=False, crystal_Head=False, measuring_line=False, port_module=False, key=False, screwdriver=False, check=0, user=User.objects.get(username=request.user.username)) except: return json.post_error else: check.save() return json.success({'check': True, 'place': check.check_in_area})
def personal_change(request): try: if Check_In.objects.filter(work_number=request.user.username).order_by('id').reverse()[0].check == 0 or ( timedelta( hours=datetime.now().hour, minutes=datetime.now().minute) >= timedelta(minutes=0, hours=16) and timedelta( hours=datetime.now().hour, minutes=datetime.now().minute) < timedelta(minutes=0, hours=18)): return json.what_error('no change time') except: if (timedelta(hours=datetime.now().hour, minutes=datetime.now().minute) >= timedelta(minutes=0, hours=16) and timedelta( hours=datetime.now().hour, minutes=datetime.now().minute) < timedelta(minutes=0, hours=18)): return json.what_error('no change time') try: personal = User.objects.get(username=request.user.username).personal req = simplejson.loads(request.body) work_area = req['area'] work_day = req['work_day'] phone_number = req['phone_number'] work_number = req['work_number'] is_save = False except: return json.post_error else: if work_area != personal.work_area: personal.work_area = work_area is_save = True if work_day != personal.week_day: personal.week_day = work_day is_save = True if phone_number != personal.phone_number: personal.phone_number = phone_number is_save = True if work_number != personal.work_number: personal.work_phone = work_number is_save = True if is_save: personal.save() return json.what_success('change success') else: return json.what_error('no change')
def extra_work_add(request): try: if Extra_Work.objects.filter(work_number=request.user.username).order_by('id').reverse()[0].status == 0: return json.what_error('had extra_work') except: pass try: req = simplejson.loads(request.body) if datetime.now().date() == datetime.strptime(req['date'], '%Y-%m-%d').date() and timedelta( hours=int(datetime.now().hour), minutes=int(datetime.now().minute)) > timedelta(minutes=00, hours=16) or datetime.now().date() + timedelta( days=1) < datetime.strptime(req['date'], '%Y-%m-%d').date() or datetime.now().date() > datetime.strptime( req['date'], '%Y-%m-%d').date(): return json.what_error('time error') else: new_extra_work = Extra_Work.objects.create(user=User.objects.get(username=request.user.username), extra_work_time=req['date'] + ':16.30', work_number=request.user.username, status=0, extra_area='' , refuse_reason='') except: return json.post_error else: new_extra_work.save() return json.success({'states': 0, 'registerDay': new_extra_work.extra_work_time})
def extra_work_change(request): try: req = simplejson.loads(request.body) extra_work = Extra_Work.objects.get(id=req['id']) status = int(req['status']) if status == 2: extra_work.refuse_reason = req['reason'] elif status == 1: extra_work.extra_area = req['area'] except: return json.post_error else: if extra_work.status != status: extra_work.status = status extra_work.save() return json.what_success('add success') else: return json.what_error('no change')