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 __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 __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)