@@ -12,85 +12,115 @@ class AccountForm(forms.ModelForm):
1212 teams = forms .MultipleChoiceField (choices = teams_queryset )
1313
1414 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 )
1718 super (AccountForm , self ).__init__ (* args , ** kwargs )
1819 for field in self .fields .values ():
1920 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
2426 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"
2729 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 :]
4242 # self.fields["lead"].queryset = Lead.objects.all(
4343 # ).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+ ]
4959 self .fields ["teams" ].required = False
5060 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+ )
5369 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 )
5572 self .fields ["teams" ].required = False
5673
57- self .fields [' assigned_to' ].required = False
74+ self .fields [" assigned_to" ].required = False
5875 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
6582
6683 # lead is not mandatory while editing
6784 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
7087
7188 class Meta :
7289 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+ )
78108
79109
80110class AccountCommentForm (forms .ModelForm ):
81111 comment = forms .CharField (max_length = 255 , required = True )
82112
83113 class Meta :
84114 model = Comment
85- fields = (' comment' , ' account' , ' commented_by' )
115+ fields = (" comment" , " account" , " commented_by" )
86116
87117
88118class AccountAttachmentForm (forms .ModelForm ):
89119 attachment = forms .FileField (max_length = 1001 , required = True )
90120
91121 class Meta :
92122 model = Attachments
93- fields = (' attachment' , ' account' )
123+ fields = (" attachment" , " account" )
94124
95125
96126class EmailForm (forms .ModelForm ):
@@ -102,28 +132,35 @@ class EmailForm(forms.ModelForm):
102132 # scheduled_later = forms.CharField(max_length=20)
103133
104134 def __init__ (self , * args , ** kwargs ):
105- self .account_obj = kwargs .pop (' account' , False )
135+ self .account_obj = kwargs .pop (" account" , False )
106136 super (EmailForm , self ).__init__ (* args , ** kwargs )
107137 # self.fields['message_subject'].widget.attrs['class'] = 'form-control'
108138 # self.fields['message_subject'].widget.attrs['required'] = True
109139 # self.fields['message_subject'].widget.attrs['placeholder'] = 'Email Subject'
110140
111141 # 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 ()
120150 # self.fields['recipients'].choices = list((contact.get('id'), contact.get('email'))
121151 # for contact in self.account_obj.contacts.values('id', 'email'))
122152
123153 class Meta :
124154 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+ ]
127164
128165 # def clean_recipients(self):
129166 # recipients = self.cleaned_data.get('recipients')
@@ -137,28 +174,27 @@ class Meta:
137174 # return recipients
138175
139176 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." )
144181
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." )
148185
149186 return scheduled_date_time
150187
151-
152188 def clean_message_body (self ):
153- message_body = self .cleaned_data .get (' message_body' )
189+ message_body = self .cleaned_data .get (" message_body" )
154190 count = 0
155191 for i in message_body :
156192 if i == "{" :
157193 count += 1
158194 elif i == "}" :
159195 count -= 1
160196 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." )
162198 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." )
164200 return message_body
0 commit comments