def format_and_save_contact(user_id, list_data): contact_data_list = [] utils = Utils() for i, d in enumerate(list_data): fields_list = [] contact_data = { 'name': '', 'is_vendor': False, 'is_customer': True, 'contact_type': 'I', 'profile_image': '', 'user_id': user_id, 'company_id': 0, 'parent_id': 0, 'fields': [] } contact_data['profile_image'] = utils.get_profile_image(i) for key in d: value = utils.comma_sep_value(d[key]) if key == 'name': contact_data['name'] = value else: temp_dic = {'id': key, 'value': value} fields_list.append(temp_dic) contact_data['fields'] = fields_list contact_data_list.append(contact_data) save_in_db(contact_data) return True
def index(request): utils = Utils() user_id = request.user.id data_list = [] result_dic = { 'fields': [], 'companies': [], 'tags': [], 'profile_image': '/static/front/images/profile.png' } contact_tabs = ContactTab.objects.all().filter( user_id=user_id).order_by('display_weight') try: c = Contact.objects.all().filter(user_id=user_id).count() except Contact.DoesNotExist: c = 1 result_dic['profile_image'] = utils.get_profile_image(c) if contact_tabs is not None: for o in contact_tabs: default_data_fields = ContactFields.objects.all().filter( id__in=o.fields).order_by('display_weight') if default_data_fields is not None: field_list = [] for f in default_data_fields: if f.type == 'checkbox' or f.type == 'radio' or f.type == 'dropdown': checkbox = [] for d in f.default_values: default_dic = {'value': d, 'checked': False} checkbox.append(default_dic) default_value = checkbox else: default_value = f.default_values field_dic = { 'id': f.id, 'name': f.label, 'type': f.type, 'display_position': f.display_position, 'default_values': default_value } field_list.append(field_dic) data_list.append({ 'name': o.name, 'id': o.id, 'display_weight': o.display_weight, 'is_default': o.is_default, 'fields': field_list }) result_dic['fields'] = data_list else: default_data_fields = {} return HttpResponse(json.dumps(result_dic), content_type="application/json")