@@ -12,85 +12,115 @@ class AccountForm(forms.ModelForm):
12
12
teams = forms .MultipleChoiceField (choices = teams_queryset )
13
13
14
14
def __init__ (self , * args , ** kwargs ):
15
- account_view = kwargs .pop ('account' , False )
16
- request_user = kwargs .pop ('request_user' , None )
15
+ account_view = kwargs .pop ("account" , False )
16
+ request_user = kwargs .pop ("request_user" , None )
17
+ request_obj = kwargs .pop ("request_obj" , None )
17
18
super (AccountForm , self ).__init__ (* args , ** kwargs )
18
19
for field in self .fields .values ():
19
20
field .widget .attrs = {"class" : "form-control" }
20
- self .fields ['description' ].widget .attrs .update ({'rows' : '8' })
21
- self .fields ['status' ].choices = [
22
- (each [0 ], each [1 ]) for each in Account .ACCOUNT_STATUS_CHOICE ]
23
- self .fields ['status' ].required = False
21
+ self .fields ["description" ].widget .attrs .update ({"rows" : "8" })
22
+ self .fields ["status" ].choices = [
23
+ (each [0 ], each [1 ]) for each in Account .ACCOUNT_STATUS_CHOICE
24
+ ]
25
+ self .fields ["status" ].required = False
24
26
for key , value in self .fields .items ():
25
- if key == ' phone' :
26
- value .widget .attrs [' placeholder' ] = "+911234567890"
27
+ if key == " phone" :
28
+ value .widget .attrs [" placeholder" ] = "+911234567890"
27
29
else :
28
- value .widget .attrs ['placeholder' ] = value .label
29
-
30
- self .fields ['billing_address_line' ].widget .attrs .update ({
31
- 'placeholder' : 'Address Line' })
32
- self .fields ['billing_street' ].widget .attrs .update ({
33
- 'placeholder' : 'Street' })
34
- self .fields ['billing_city' ].widget .attrs .update ({
35
- 'placeholder' : 'City' })
36
- self .fields ['billing_state' ].widget .attrs .update ({
37
- 'placeholder' : 'State' })
38
- self .fields ['billing_postcode' ].widget .attrs .update ({
39
- 'placeholder' : 'Postcode' })
40
- self .fields ["billing_country" ].choices = [
41
- ("" , "--Country--" ), ] + list (self .fields ["billing_country" ].choices )[1 :]
30
+ value .widget .attrs ["placeholder" ] = value .label
31
+
32
+ self .fields ["billing_address_line" ].widget .attrs .update (
33
+ {"placeholder" : "Address Line" }
34
+ )
35
+ self .fields ["billing_street" ].widget .attrs .update ({"placeholder" : "Street" })
36
+ self .fields ["billing_city" ].widget .attrs .update ({"placeholder" : "City" })
37
+ self .fields ["billing_state" ].widget .attrs .update ({"placeholder" : "State" })
38
+ self .fields ["billing_postcode" ].widget .attrs .update ({"placeholder" : "Postcode" })
39
+ self .fields ["billing_country" ].choices = [("" , "--Country--" ),] + list (
40
+ self .fields ["billing_country" ].choices
41
+ )[1 :]
42
42
# self.fields["lead"].queryset = Lead.objects.all(
43
43
# ).exclude(status='closed')
44
- if request_user .role == 'ADMIN' :
45
- self .fields ["lead" ].queryset = Lead .objects .filter ().exclude (
46
- status = 'closed' ).order_by ('title' )
47
- self .fields ["contacts" ].queryset = Contact .objects .filter ()
48
- self .fields ["teams" ].choices = [(team .get ('id' ), team .get ('name' )) for team in Teams .objects .all ().values ('id' , 'name' )]
44
+ if request_user .role == "ADMIN" :
45
+ self .fields ["lead" ].queryset = (
46
+ Lead .objects .filter (company = request_obj .company )
47
+ .exclude (status = "closed" )
48
+ .order_by ("title" )
49
+ )
50
+ self .fields ["contacts" ].queryset = Contact .objects .filter (
51
+ company = request_obj .company
52
+ )
53
+ self .fields ["teams" ].choices = [
54
+ (team .get ("id" ), team .get ("name" ))
55
+ for team in Teams .objects .filter (company = request_obj .company ).values (
56
+ "id" , "name"
57
+ )
58
+ ]
49
59
self .fields ["teams" ].required = False
50
60
else :
51
- self .fields ["lead" ].queryset = Lead .objects .filter (
52
- Q (assigned_to__in = [request_user ]) | Q (created_by = request_user )).exclude (status = 'closed' ).order_by ('title' )
61
+ self .fields ["lead" ].queryset = (
62
+ Lead .objects .filter (
63
+ Q (assigned_to__in = [request_user ]) | Q (created_by = request_user )
64
+ )
65
+ .filter (company = request_obj .company )
66
+ .exclude (status = "closed" )
67
+ .order_by ("title" )
68
+ )
53
69
self .fields ["contacts" ].queryset = Contact .objects .filter (
54
- Q (assigned_to__in = [request_user ]) | Q (created_by = request_user ))
70
+ Q (assigned_to__in = [request_user ]) | Q (created_by = request_user )
71
+ ).filter (company = request_obj .company )
55
72
self .fields ["teams" ].required = False
56
73
57
- self .fields [' assigned_to' ].required = False
74
+ self .fields [" assigned_to" ].required = False
58
75
if account_view :
59
- self .fields [' billing_address_line' ].required = True
60
- self .fields [' billing_street' ].required = True
61
- self .fields [' billing_city' ].required = True
62
- self .fields [' billing_state' ].required = True
63
- self .fields [' billing_postcode' ].required = True
64
- self .fields [' billing_country' ].required = True
76
+ self .fields [" billing_address_line" ].required = True
77
+ self .fields [" billing_street" ].required = True
78
+ self .fields [" billing_city" ].required = True
79
+ self .fields [" billing_state" ].required = True
80
+ self .fields [" billing_postcode" ].required = True
81
+ self .fields [" billing_country" ].required = True
65
82
66
83
# lead is not mandatory while editing
67
84
if self .instance .id :
68
- self .fields [' lead' ].required = False
69
- self .fields [' lead' ].required = False
85
+ self .fields [" lead" ].required = False
86
+ self .fields [" lead" ].required = False
70
87
71
88
class Meta :
72
89
model = Account
73
- fields = ('name' , 'phone' , 'email' , 'website' , 'industry' ,
74
- 'description' , 'status' , 'assigned_to' ,
75
- 'billing_address_line' , 'billing_street' ,
76
- 'billing_city' , 'billing_state' ,
77
- 'billing_postcode' , 'billing_country' , 'lead' , 'contacts' )
90
+ fields = (
91
+ "name" ,
92
+ "phone" ,
93
+ "email" ,
94
+ "website" ,
95
+ "industry" ,
96
+ "description" ,
97
+ "status" ,
98
+ "assigned_to" ,
99
+ "billing_address_line" ,
100
+ "billing_street" ,
101
+ "billing_city" ,
102
+ "billing_state" ,
103
+ "billing_postcode" ,
104
+ "billing_country" ,
105
+ "lead" ,
106
+ "contacts" ,
107
+ )
78
108
79
109
80
110
class AccountCommentForm (forms .ModelForm ):
81
111
comment = forms .CharField (max_length = 255 , required = True )
82
112
83
113
class Meta :
84
114
model = Comment
85
- fields = (' comment' , ' account' , ' commented_by' )
115
+ fields = (" comment" , " account" , " commented_by" )
86
116
87
117
88
118
class AccountAttachmentForm (forms .ModelForm ):
89
119
attachment = forms .FileField (max_length = 1001 , required = True )
90
120
91
121
class Meta :
92
122
model = Attachments
93
- fields = (' attachment' , ' account' )
123
+ fields = (" attachment" , " account" )
94
124
95
125
96
126
class EmailForm (forms .ModelForm ):
@@ -102,28 +132,35 @@ class EmailForm(forms.ModelForm):
102
132
# scheduled_later = forms.CharField(max_length=20)
103
133
104
134
def __init__ (self , * args , ** kwargs ):
105
- self .account_obj = kwargs .pop (' account' , False )
135
+ self .account_obj = kwargs .pop (" account" , False )
106
136
super (EmailForm , self ).__init__ (* args , ** kwargs )
107
137
# self.fields['message_subject'].widget.attrs['class'] = 'form-control'
108
138
# self.fields['message_subject'].widget.attrs['required'] = True
109
139
# self.fields['message_subject'].widget.attrs['placeholder'] = 'Email Subject'
110
140
111
141
# self.fields['recipient'].required = False
112
- self .fields [' from_email' ].required = True
113
- self .fields [' message_subject' ].required = True
114
- self .fields [' message_body' ].required = True
115
-
116
- self .fields [' scheduled_date_time' ].required = False
117
- self .fields [' scheduled_later' ].required = False
118
- self .fields [' recipients' ].required = True
119
- self .fields [' recipients' ].query = self .account_obj .contacts .all ()
142
+ self .fields [" from_email" ].required = True
143
+ self .fields [" message_subject" ].required = True
144
+ self .fields [" message_body" ].required = True
145
+
146
+ self .fields [" scheduled_date_time" ].required = False
147
+ self .fields [" scheduled_later" ].required = False
148
+ self .fields [" recipients" ].required = True
149
+ self .fields [" recipients" ].query = self .account_obj .contacts .all ()
120
150
# self.fields['recipients'].choices = list((contact.get('id'), contact.get('email'))
121
151
# for contact in self.account_obj.contacts.values('id', 'email'))
122
152
123
153
class Meta :
124
154
model = Email
125
- fields = ['recipients' , 'message_subject' , 'from_email' ,
126
- 'message_body' , 'timezone' , 'scheduled_date_time' , 'scheduled_later' ]
155
+ fields = [
156
+ "recipients" ,
157
+ "message_subject" ,
158
+ "from_email" ,
159
+ "message_body" ,
160
+ "timezone" ,
161
+ "scheduled_date_time" ,
162
+ "scheduled_later" ,
163
+ ]
127
164
128
165
# def clean_recipients(self):
129
166
# recipients = self.cleaned_data.get('recipients')
@@ -137,28 +174,27 @@ class Meta:
137
174
# return recipients
138
175
139
176
def clean_scheduled_date_time (self ):
140
- scheduled_date_time = self .cleaned_data .get (' scheduled_date_time' )
141
- if self .data .get (' scheduled_later' ) not in ['' , None , False , ' false' ]:
142
- if scheduled_date_time in ['' , None ]:
143
- raise forms .ValidationError (' This Field is required.' )
177
+ scheduled_date_time = self .cleaned_data .get (" scheduled_date_time" )
178
+ if self .data .get (" scheduled_later" ) not in ["" , None , False , " false" ]:
179
+ if scheduled_date_time in ["" , None ]:
180
+ raise forms .ValidationError (" This Field is required." )
144
181
145
- if self .data .get (' scheduled_later' ) == ' true' :
146
- if scheduled_date_time in ['' , None ]:
147
- raise forms .ValidationError (' This Field is required.' )
182
+ if self .data .get (" scheduled_later" ) == " true" :
183
+ if scheduled_date_time in ["" , None ]:
184
+ raise forms .ValidationError (" This Field is required." )
148
185
149
186
return scheduled_date_time
150
187
151
-
152
188
def clean_message_body (self ):
153
- message_body = self .cleaned_data .get (' message_body' )
189
+ message_body = self .cleaned_data .get (" message_body" )
154
190
count = 0
155
191
for i in message_body :
156
192
if i == "{" :
157
193
count += 1
158
194
elif i == "}" :
159
195
count -= 1
160
196
if count < 0 :
161
- raise forms .ValidationError (' Brackets do not match, Enter valid tags.' )
197
+ raise forms .ValidationError (" Brackets do not match, Enter valid tags." )
162
198
if count != 0 :
163
- raise forms .ValidationError (' Brackets do not match, Enter valid tags.' )
199
+ raise forms .ValidationError (" Brackets do not match, Enter valid tags." )
164
200
return message_body
0 commit comments