Exemplo n.º 1
0
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')
Exemplo n.º 2
0
Arquivo: form.py Projeto: sp33d/webapp
 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) )
Exemplo n.º 3
0
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]
Exemplo n.º 4
0
Arquivo: form.py Projeto: sp33d/webapp
 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 )
Exemplo n.º 5
0
    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
Exemplo n.º 6
0
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
    })
Exemplo n.º 7
0
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')
Exemplo n.º 8
0
Arquivo: form.py Projeto: sp33d/webapp
    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)
Exemplo n.º 9
0
# 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]))