def activate(request, uidb64, token): try: id = force_text(urlsafe_base64_decode(uidb64)) with connection.cursor() as cur: cur.execute( "SELECT NAME , ISVERIFIED FROM CUSTOMER WHERE customerId = %s", [id]) result = cur.fetchone() if result is None: messages.success(request, "You have not created any account") return redirect('login:index') else: customer = Customer(customer_id=id, name=result[0], isVerified=result[1]) if not account_activation_token.check_token(customer, token): messages.success(request, "Your account is already activated") return redirect('login:index') cur.execute( "UPDATE CUSTOMER SET ISVERIFIED = 'YES' WHERE customerId = %s", [id]) messages.success(request, "Account Activated Successfully") return redirect('login:index') except Exception as ex: pass return redirect('login:index')
def __init__(self,request,*args,**kwargs): super(DeviceRegistrationForm,self).__init__(*args,**kwargs) customer = Customer.objects.get(login_name=request.session['ln']) #Populating the Owners for the device childs = Customer.get_annotated_list(parent=customer) childs_tuple_list = [] for child in childs: childs_tuple_list.append((child[0].login_name, ('-' * child[1]['level']) + child[0].name)) self.fields['owner'] = forms.ChoiceField( choices=tuple(childs_tuple_list) ) #Populating the Fuel Tank Type ftt_tuple_list = [] for ftt in FuelTankType.objects.all(): ftt_tuple_list.append((ftt.id, ftt.name)) self.fields['fuel_tank'] = forms.ChoiceField( choices=tuple(ftt_tuple_list) )
def get_customer_info(customer_id): with connection.cursor() as cur: cur.execute( "SELECT NAME , EMAIL , USERNAME , GENDER , STREET , ZIPCODE , CITY , COUNTRY , " "PHONE_NUM , ISVERIFIED FROM CUSTOMER WHERE customerId = %s", [customer_id]) result = cur.fetchone() global customer customer = Customer(customer_id=customer_id, name=result[0], email=result[1], username=result[2], gender=result[3], street=result[4], zipcode=result[5], city=result[6], country=result[7], phone=result[8], isVerified=result[9]) cur.execute( "SELECT CARD_NUMBER , CARD_USERNAME , CARD_TYPE , CVC , EXPIRATION FROM CREDIT_CARD " "WHERE customerId = %s", [customer_id]) result = cur.fetchone() if result: customer.card_number = result[0] customer.card_username = result[1] customer.card_type = result[2] customer.cvc = result[3] customer.expiration = str(result[4].date()) cur.execute( "SELECT PHONE_NUMBER , SERVICE_PROVIDER , CUSTOMERID FROM MOBILE_BANKING " "WHERE customerId = %s", [customer_id]) result = cur.fetchone() if result: customer.mob_banking_phone_number = result[0] customer.mob_banking_service_provider = result[1]
def __init__(self,request,*args,**kwargs): super(CustomerRegistrationForm,self).__init__(*args,**kwargs) self.fields['role'] = forms.ChoiceField( choices=get_inferior_roles(request.session['role']) ) customer = Customer.objects.get(login_name=request.session['ln']) """ Read at: https://tabo.pe/projects/django-treebeard/docs/tip/intro.html#basic-usage Returns: [(<Customer: root>, {'close': [0], 'level': 0L, 'open': True})] """ childs = Customer.get_annotated_list(parent=customer) childs_tuple_list = [] for child in childs: childs_tuple_list.append((child[0].login_name, ('-' * child[1]['level']) + child[0].name)) child_tuple_tuple = tuple(childs_tuple_list) self.fields['parent'] = forms.ChoiceField( choices=child_tuple_tuple )
def process_item(self, item, spider): if item['table_type'] == 'customer_order': try: cust = Customer.objects.get(source_id=item['source_id'], source_type=item['source_type']) except Customer.DoesNotExist: cust = Customer() cust.source_type = item['source_type'] cust.source_id = item['source_id'] cust.name = item['name'] cust.save() logger.info(u'Added {}'.format(str(cust))) cust_ord = CustomerOrder() cust_ord.customer = cust cust_ord.order_id = item['order_id'] if item['member'].lower().strip() == 'yes': cust_ord.member = True elif item['member'].lower().strip() == 'no': cust_ord.member = False cust_ord.caregiver = item['caregiver'] cust_ord.date = datetime.strptime(item['date'], '%m/%d/%y').date() cust_ord.order_total = item['order_total'].lstrip('$') cust_ord.save() logger.info(u'Added {}'.format(str(cust_ord))) elif item['table_type'] == 'transaction': try: cust_ord = CustomerOrder.objects.get( order_id=item['order_id'], customer__source_type=item['source_type']) except Customer.DoesNotExist: logger.error(u'There is no customer order #{}!'.format( item['order_id'])) else: trans = Transaction() trans.order = cust_ord trans.description = item['description'] trans.qty_dispensed = item['qty_dispensed'] trans.qty_sold = item['qty_sold'] trans.price = item['price'].lstrip('$') trans.subtotal = item['subtotal'].lstrip('$') trans.discount = item['discount'] trans.tax = item['tax'] trans.cashier = item['cashier'] trans.save() logger.info(u'Added {}'.format(str(trans))) return item
def sign_up(request): v1 = request.POST.get('name') v2 = request.POST.get('email') v3 = request.POST.get('username') v4 = request.POST.get('password') v4 = hashlib.md5(v4.encode()).hexdigest() v5 = request.POST.get('gender') v6 = request.POST.get('street') v7 = request.POST.get('zipcode') v8 = request.POST.get('city') v9 = request.POST.get('country') v10 = request.POST.get('phone') if v1 == "": print("No name") elif v2 == "": print("No email") elif v3 == "": print("No username") elif v4 == "": print("No password") elif v5 == "": print("No gender") elif v6 == "": print("No street") elif v7 == "": print("No zipcode") elif v8 == "": print("No city") elif v9 == "": print("No country") elif v10 == "": print("No phone") else: with connection.cursor() as cur: customer_id = cur.callfunc( 'REGISTER', int, [v1, v2, v3, v4, v5, v6, v7, v8, v9, v10]) if customer_id == 0: alert_message = "This username is already taken" return render(request, 'register/index.html', { 'invalid_username': True, 'alert_message': alert_message }) customer = Customer(customer_id=customer_id, name=v1, isVerified='NO') current_site = get_current_site(request) email_body = { 'user': customer.name, 'domain': current_site.domain, 'uid': urlsafe_base64_encode(force_bytes(customer.customer_id)), 'token': account_activation_token.make_token(customer), } link = reverse('register:activate', kwargs={ 'uidb64': email_body['uid'], 'token': email_body['token'] }) activate_url = 'http://' + current_site.domain + link email_subject = "Activate your innOcity Account" email_body = 'Hi ' + v1 + ', Please click the link to activate your account : ' + activate_url email = EmailMessage( email_subject, email_body, settings.EMAIL_HOST_USER, [v2], ) email.fail_silently = False email.send() messages.success( request, "Please check your e-mail and verify your account") return redirect('login:index') alert_message = "Complete the form" return render(request, 'register/index.html', { 'alert_flag': True, 'alert_message': alert_message })
from django.views.decorators.csrf import csrf_exempt from django.db import connection from dashboard.models import Customer from django.core.mail import EmailMultiAlternatives from easy_pdf.rendering import render_to_pdf from django.conf import settings import math app_name = 'hotel' session_id = 0 sessions = {} customer = Customer(0) @csrf_exempt def available(request): destination = request.POST.get('destination').upper() room_no = request.POST.get('rooms') checkin_input = request.POST.get('checkin') checkout_input = request.POST.get('checkout') request.session['checkin_input'] = checkin_input request.session['checkout_input'] = checkout_input logged_in = request.session.has_key('customer_id')
def __init__(self,request,*args,**kwargs): super(DeviceUpdationForm,self).__init__(*args,**kwargs) if 'did' in request.POST: # Fresh request #fetching the device to be updated device = Device.objects.get(imei=request.POST['did']) #Populating the Owners for the device customer = Customer.objects.get(login_name=request.session['ln']) #Populating the Owners for the device childs = Customer.get_annotated_list(parent=customer) childs_tuple_list = [] for child in childs: childs_tuple_list.append((child[0].login_name, ('-' * child[1]['level']) + child[0].name)) #Populating the Fuel Tank Type ftt_tuple_list = [] for ftt in FuelTankType.objects.all(): ftt_tuple_list.append((ftt.id, ftt.name)) self.fields['imei'] = forms.CharField(max_length=16, widget = forms.TextInput(attrs={'readonly':'readonly'}), initial=device.imei) self.fields['name'] = forms.CharField(max_length=32, initial=device.name) self.fields['protocol'] = forms.ChoiceField( choices=( ('TK103','TK103'), ('CT04', 'CT04'), ('PT300','PT300'), ), initial=device.protocol ) self.fields['icon'] = forms.ChoiceField( choices=( ('car','Car'), ('bike','Bike'), ('truck','Truck'), ('tracker', 'Tracker'), ), initial=device.icon ) self.fields['imsi'] = forms.CharField(max_length=16, initial=device.imsi) self.fields['stock_st'] = forms.ChoiceField( choices=( ('instock','In Stock'), ('sold','Sold') ), initial=device.stock_st ) self.fields['tank_sz'] = forms.IntegerField(max_value=1000, min_value=0, initial=device.tank_sz) self.fields['fuel_tank'] = forms.ChoiceField( choices=tuple(ftt_tuple_list), initial=device.fuel_tank ) self.fields['max_speed'] = forms.IntegerField(max_value=200, min_value=0, initial=device.max_speed) self.fields['max_temp'] = forms.IntegerField(max_value=200, min_value=0, initial=device.max_temp) self.fields['lowest_fuel'] = forms.IntegerField(max_value=500, min_value=0, initial=device.lowest_fuel) self.fields['subscription_amt'] = forms.IntegerField(max_value=1000, min_value=0, initial=device.subscription_amt) self.fields['owner'] = forms.ChoiceField( choices=tuple(childs_tuple_list), initial=device.owner ) # Insurance Details (OPTIONAL) self.fields['rc_number'] = forms.CharField(max_length=32, required=False, initial=device.rc_number) self.fields['rc_date'] = forms.DateField(required=False, initial=device.rc_date) self.fields['insurance_number'] = forms.CharField(max_length=32, required=False, initial=device.insurance_number) self.fields['insurance_company'] = forms.CharField(max_length=32, required=False, initial=device.insurance_company) self.fields['insurance_date'] = forms.DateField(required=False, initial=device.insurance_date) self.fields['insurance_due_date'] = forms.DateField(required=False, initial=device.insurance_due_date) self.fields['insurance_premium'] = forms.IntegerField(max_value=100000, min_value=0, required=False, initial=device.insurance_premium) self.fields['servicing_due_date'] = forms.DateField(required=False, initial=device.servicing_due_date) self.fields['servicing_due_km'] = forms.IntegerField(max_value=1000000, min_value=0, required=False, initial=device.servicing_due_km) self.fields['odometer_reading'] = forms.IntegerField(max_value=1000000, min_value=0, required=False, initial=device.odometer_reading) # Driver Details (OPTIONAL) self.fields['driver_dp'] = forms.ImageField(required=False, initial=device.driver_dp) self.fields['driver_name'] = forms.CharField(max_length=32, required=False, initial=device.driver_name) self.fields['driver_addr'] = forms.CharField(max_length=256, required=False, initial=device.driver_addr) self.fields['driver_contact_no'] = forms.CharField(max_length=32, required=False, initial=device.driver_contact_no) self.fields['license_no'] = forms.CharField(max_length=32, required=False, initial=device.license_no) self.fields['license_exp_date'] = forms.DateField(required=False, initial=device.license_exp_date) # Contract Details (OPTIONAL) self.fields['contract_company'] = forms.CharField(max_length=32, required=False, initial=device.contract_company) self.fields['contract_amt'] = forms.IntegerField(max_value=500000, min_value=0, required=False, initial=device.contract_amt) self.fields['contract_renewal_dt'] = forms.DateField(required=False, initial=device.contract_renewal_dt) self.fields['contract_date'] = forms.DateField(required=False, initial=device.contract_date) else: # Old request #fetching the device to be updated device = Device.objects.get(imei=request.POST['imei']) #Populating the Owners for the device customer = Customer.objects.get(login_name=request.session['ln']) #Populating the Owners for the device childs = Customer.get_annotated_list(parent=customer) childs_tuple_list = [] for child in childs: childs_tuple_list.append((child[0].login_name, ('-' * child[1]['level']) + child[0].name)) #Populating the Fuel Tank Type ftt_tuple_list = [] for ftt in FuelTankType.objects.all(): ftt_tuple_list.append((ftt.id, ftt.name)) self.fields['imei'] = forms.CharField(max_length=16, widget = forms.TextInput(attrs={'readonly':'readonly'}), initial=device.imei) self.fields['name'] = forms.CharField(max_length=32, initial=device.name) self.fields['protocol'] = forms.ChoiceField( choices=( ('TK103','TK103'), ('CT04', 'CT04'), ('PT300','PT300'), ), initial=device.protocol ) self.fields['icon'] = forms.ChoiceField( choices=( ('car','Car'), ('bike','Bike'), ('truck','Truck'), ('tracker', 'Tracker'), ), initial=device.icon ) self.fields['imsi'] = forms.CharField(max_length=16, initial=device.imsi) self.fields['stock_st'] = forms.ChoiceField( choices=( ('instock','In Stock'), ('sold','Sold') ), initial=device.stock_st ) self.fields['tank_sz'] = forms.IntegerField(max_value=1000, min_value=0, initial=device.tank_sz) self.fields['fuel_tank'] = forms.ChoiceField( choices=tuple(ftt_tuple_list), initial=device.fuel_tank ) self.fields['max_speed'] = forms.IntegerField(max_value=200, min_value=0, initial=device.max_speed) self.fields['max_temp'] = forms.IntegerField(max_value=200, min_value=0, initial=device.max_temp) self.fields['lowest_fuel'] = forms.IntegerField(max_value=500, min_value=0, initial=device.lowest_fuel) self.fields['subscription_amt'] = forms.IntegerField(max_value=1000, min_value=0, initial=device.subscription_amt) self.fields['owner'] = forms.ChoiceField( choices=tuple(childs_tuple_list), initial=device.owner ) # Insurance Details (OPTIONAL) self.fields['rc_number'] = forms.CharField(max_length=32, required=False, initial=device.rc_number) self.fields['rc_date'] = forms.DateField(required=False, initial=device.rc_date) self.fields['insurance_number'] = forms.CharField(max_length=32, required=False, initial=device.insurance_number) self.fields['insurance_company'] = forms.CharField(max_length=32, required=False, initial=device.insurance_company) self.fields['insurance_date'] = forms.DateField(required=False, initial=device.insurance_date) self.fields['insurance_due_date'] = forms.DateField(required=False, initial=device.insurance_due_date) self.fields['insurance_premium'] = forms.IntegerField(max_value=100000, min_value=0, required=False, initial=device.insurance_premium) self.fields['servicing_due_date'] = forms.DateField(required=False, initial=device.servicing_due_date) self.fields['servicing_due_km'] = forms.IntegerField(max_value=1000000, min_value=0, required=False, initial=device.servicing_due_km) self.fields['odometer_reading'] = forms.IntegerField(max_value=1000000, min_value=0, required=False, initial=device.odometer_reading) # Driver Details (OPTIONAL) self.fields['driver_dp'] = forms.ImageField(required=False, initial=device.driver_dp) self.fields['driver_name'] = forms.CharField(max_length=32, required=False, initial=device.driver_name) self.fields['driver_addr'] = forms.CharField(max_length=256, required=False, initial=device.driver_addr) self.fields['driver_contact_no'] = forms.CharField(max_length=32, required=False, initial=device.driver_contact_no) self.fields['license_no'] = forms.CharField(max_length=32, required=False, initial=device.license_no) self.fields['license_exp_date'] = forms.DateField(required=False, initial=device.license_exp_date) # Contract Details (OPTIONAL) self.fields['contract_company'] = forms.CharField(max_length=32, required=False, initial=device.contract_company) self.fields['contract_amt'] = forms.IntegerField(max_value=500000, min_value=0, required=False, initial=device.contract_amt) self.fields['contract_renewal_dt'] = forms.DateField(required=False, initial=device.contract_renewal_dt) self.fields['contract_date'] = forms.DateField(required=False, initial=device.contract_date)
# USER="******" # PW=os.environ["DB_PWD"] # DB="cattalax" # con = MySQLdb.connect(HOST,USER,PW,DB) # cur = con.cursor() # cur.execute("SELECT id FROM enters WHERE obs>2 INTO OUTFILE '/tmp/enter2.csv' fields terminated by ',' ENCLOSED BY '\"' LINES TERMINATED BY '\\n'") file_of_addrs = open("/tmp/enter2.csv") addrs = file_of_addrs.read().split() count0 = 0 for addr in addrs: if len(Customer.objects.filter(mac_addr=eval(addr)))==0: c = Customer(mac_addr=eval(addr)) c.save() count0 += 1 filename = '/tmp/detail' + str(count0) + '.csv' # sql_command = "SELECT DISTINCT * FROM attendance WHERE id="+addr+" ORDER BY timestamp, -rssi INTO OUTFILE '"+filename+"' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\\n'" # print sql_command # cur.execute(sql_command) print "Getting duration, and inserting to customer_log table." g_d = robjects.r('get_duration(\"' + filename + '\")') visits = len(g_d)/4 count = 0 for i in range(visits): # cur.execute("INSERT INTO customer_log(Id, arrival_time, duration, leave_time, instantiated) VALUES('%s', %d, %d, %d, %d)" % (g_d[count], int(g_d[count+1]), int(g_d[count+2]), int(g_d[count+3]), 0)) customer = Customer.objects.get(mac_addr=g_d[count]) outlet = Outlet.objects.get(sensor_no=1) v = Visit(patron=customer, vendor=outlet, arrival_time=int(g_d[count+1]), duration=int(g_d[count+2]))