@@ -37,7 +37,7 @@ def add_legacy_fields(group):
3737 query = GroupEvent .objects .filter (group = group , type = "changed_state" ).order_by ('time' )
3838 proposed = query .filter (changestategroupevent__state = "proposed" )
3939 meeting = get_current_meeting ()
40-
40+
4141 if proposed :
4242 group .proposed_date = proposed [0 ].time
4343 active = query .filter (changestategroupevent__state = "active" )
@@ -46,27 +46,27 @@ def add_legacy_fields(group):
4646 concluded = query .filter (changestategroupevent__state = "conclude" )
4747 if concluded :
4848 group .concluded_date = concluded [0 ].time
49-
49+
5050 if group .session_set .filter (meeting__number = meeting .number ):
5151 group .meeting_scheduled = 'YES'
5252 else :
5353 group .meeting_scheduled = 'NO'
54-
54+
5555 group .chairs = group .role_set .filter (name = "chair" )
5656 group .techadvisors = group .role_set .filter (name = "techadv" )
5757 group .editors = group .role_set .filter (name = "editor" )
5858 group .secretaries = group .role_set .filter (name = "secretaries" )
59-
59+
6060 #fill_in_charter_info(group)
61-
61+
6262#--------------------------------------------------
6363# AJAX Functions
6464# -------------------------------------------------
6565'''
6666def get_ads(request):
6767 """ AJAX function which takes a URL parameter, "area" and returns the area directors
68- in the form of a list of dictionaries with "id" and "value" keys(in json format).
69- Used to populate select options.
68+ in the form of a list of dictionaries with "id" and "value" keys(in json format).
69+ Used to populate select options.
7070 """
7171
7272 results=[]
@@ -83,7 +83,7 @@ def get_ads(request):
8383# -------------------------------------------------
8484
8585def add (request ):
86- '''
86+ '''
8787 Add a new IETF or IRTF Group
8888
8989 **Templates:**
@@ -119,11 +119,11 @@ def add(request):
119119 by = request .user .get_profile (),
120120 state = group .state ,
121121 desc = 'Started group' )
122-
122+
123123 messages .success (request , 'The Group was created successfully!' )
124124 url = reverse ('groups_view' , kwargs = {'acronym' :group .acronym })
125125 return HttpResponseRedirect (url )
126-
126+
127127 else :
128128 form = GroupModelForm (initial = {'state' :'active' ,'type' :'wg' })
129129 awp_formset = AWPFormSet (prefix = 'awp' )
@@ -150,17 +150,17 @@ def blue_dot(request):
150150 entry = {'name' :'%s, %s' % (parts [3 ], parts [1 ]),
151151 'groups' : ', ' .join (groups )}
152152 chairs .append (entry )
153-
153+
154154 # sort the list
155155 sorted_chairs = sorted (chairs , key = lambda a : a ['name' ])
156-
156+
157157 return render_to_response ('groups/blue_dot_report.txt' , {
158158 'chairs' :sorted_chairs },
159159 RequestContext (request , {}), mimetype = "text/plain" ,
160160 )
161-
161+
162162def charter (request , acronym ):
163- """
163+ """
164164 View Group Charter
165165
166166 **Templates:**
@@ -179,15 +179,15 @@ def charter(request, acronym):
179179 charter_text = get_charter_text (group )
180180 else :
181181 charter_text = ''
182-
182+
183183 return render_to_response ('groups/charter.html' , {
184184 'group' : group ,
185185 'charter_text' : charter_text },
186186 RequestContext (request , {}),
187187 )
188188
189189def delete_role (request , acronym , id ):
190- """
190+ """
191191 Handle deleting roles for groups (chair, editor, advisor, secretary)
192192
193193 **Templates:**
@@ -199,18 +199,18 @@ def delete_role(request, acronym, id):
199199 """
200200 group = get_object_or_404 (Group , acronym = acronym )
201201 role = get_object_or_404 (Role , id = id )
202-
202+
203203 # save group
204204 save_group_in_history (group )
205-
205+
206206 role .delete ()
207-
207+
208208 messages .success (request , 'The entry was deleted successfully' )
209209 url = reverse ('groups_people' , kwargs = {'acronym' :acronym })
210210 return HttpResponseRedirect (url )
211211
212212def edit (request , acronym ):
213- """
213+ """
214214 Edit Group details
215215
216216 **Templates:**
@@ -235,16 +235,16 @@ def edit(request, acronym):
235235 form = GroupModelForm (request .POST , instance = group )
236236 awp_formset = AWPFormSet (request .POST , instance = group )
237237 if form .is_valid () and awp_formset .is_valid ():
238-
238+
239239 awp_formset .save ()
240240 if form .changed_data :
241241 state = form .cleaned_data ['state' ]
242-
242+
243243 # save group
244244 save_group_in_history (group )
245-
245+
246246 form .save ()
247-
247+
248248 # create appropriate GroupEvent
249249 if 'state' in form .changed_data :
250250 if state .name == 'Active' :
@@ -257,27 +257,29 @@ def edit(request, acronym):
257257 state = state ,
258258 desc = desc )
259259 form .changed_data .remove ('state' )
260-
260+
261261 # if anything else was changed
262262 if form .changed_data :
263263 GroupEvent .objects .create (group = group ,
264264 type = 'info_changed' ,
265265 by = request .user .get_profile (),
266266 desc = 'Info Changed' )
267-
267+
268268 # if the acronym was changed we'll want to redirect using the new acronym below
269269 if 'acronym' in form .changed_data :
270270 acronym = form .cleaned_data ['acronym' ]
271-
271+
272272 messages .success (request , 'The Group was changed successfully' )
273-
273+
274274 url = reverse ('groups_view' , kwargs = {'acronym' :acronym })
275275 return HttpResponseRedirect (url )
276-
276+
277277 else :
278278 form = GroupModelForm (instance = group )
279279 awp_formset = AWPFormSet (instance = group )
280280
281+ messages .warning (request , "WARNING: don't use this tool to change group names. Use Datatracker when possible." )
282+
281283 return render_to_response ('groups/edit.html' , {
282284 'group' : group ,
283285 'awp_formset' : awp_formset ,
@@ -286,7 +288,7 @@ def edit(request, acronym):
286288 )
287289
288290def edit_gm (request , acronym ):
289- """
291+ """
290292 Edit IETF Group Goal and Milestone details
291293
292294 **Templates:**
@@ -295,7 +297,7 @@ def edit_gm(request, acronym):
295297
296298 **Template Variables:**
297299
298- * group, formset
300+ * group, formset
299301
300302 """
301303
@@ -316,15 +318,15 @@ def edit_gm(request, acronym):
316318 return HttpResponseRedirect (url )
317319 else :
318320 formset = GMFormset (instance = group , prefix = 'goalmilestone' )
319-
321+
320322 return render_to_response ('groups/edit_gm.html' , {
321323 'group' : group ,
322324 'formset' : formset },
323325 RequestContext (request , {}),
324326 )
325327
326328def people (request , acronym ):
327- """
329+ """
328330 Edit Group Roles (Chairs, Secretary, etc)
329331
330332 **Templates:**
@@ -338,18 +340,18 @@ def people(request, acronym):
338340 """
339341
340342 group = get_object_or_404 (Group , acronym = acronym )
341-
343+
342344 if request .method == 'POST' :
343345 # we need to pass group for form validation
344346 form = RoleForm (request .POST ,group = group )
345347 if form .is_valid ():
346348 name = form .cleaned_data ['name' ]
347349 person = form .cleaned_data ['person' ]
348350 email = form .cleaned_data ['email' ]
349-
351+
350352 # save group
351353 save_group_in_history (group )
352-
354+
353355 Role .objects .create (name = name ,
354356 person = person ,
355357 email = email ,
@@ -368,7 +370,7 @@ def people(request, acronym):
368370 )
369371
370372def search (request ):
371- """
373+ """
372374 Search IETF Groups
373375
374376 **Templates:**
@@ -386,17 +388,17 @@ def search(request):
386388 if request .POST ['submit' ] == 'Add' :
387389 url = reverse ('groups_add' )
388390 return HttpResponseRedirect (url )
389-
391+
390392 if form .is_valid ():
391- kwargs = {}
393+ kwargs = {}
392394 group_acronym = form .cleaned_data ['group_acronym' ]
393395 group_name = form .cleaned_data ['group_name' ]
394396 primary_area = form .cleaned_data ['primary_area' ]
395397 meeting_scheduled = form .cleaned_data ['meeting_scheduled' ]
396398 state = form .cleaned_data ['state' ]
397399 type = form .cleaned_data ['type' ]
398400 meeting = get_current_meeting ()
399-
401+
400402 # construct seach query
401403 if group_acronym :
402404 kwargs ['acronym__istartswith' ] = group_acronym
@@ -410,7 +412,7 @@ def search(request):
410412 kwargs ['type' ] = type
411413 #else:
412414 # kwargs['type__in'] = ('wg','rg','ietf','ag','sdo','team')
413-
415+
414416 if meeting_scheduled == 'YES' :
415417 kwargs ['session__meeting__number' ] = meeting .number
416418 # perform query
@@ -422,13 +424,13 @@ def search(request):
422424 else :
423425 qs = Group .objects .all ()
424426 results = qs .order_by ('acronym' )
425-
427+
426428 # if there's just one result go straight to view
427429 if len (results ) == 1 :
428430 url = reverse ('groups_view' , kwargs = {'acronym' :results [0 ].acronym })
429431 return HttpResponseRedirect (url )
430-
431- # process GET argument to support link from area app
432+
433+ # process GET argument to support link from area app
432434 elif 'primary_area' in request .GET :
433435 area = request .GET .get ('primary_area' ,'' )
434436 results = Group .objects .filter (parent__id = area ,type = 'wg' ,state__in = ('bof' ,'active' ,'proposed' )).order_by ('name' )
@@ -440,15 +442,15 @@ def search(request):
440442 # attribute of the meeting model
441443 for result in results :
442444 add_legacy_fields (result )
443-
445+
444446 return render_to_response ('groups/search.html' , {
445447 'results' : results ,
446448 'form' : form },
447449 RequestContext (request , {}),
448450 )
449451
450452def view (request , acronym ):
451- """
453+ """
452454 View IETF Group details
453455
454456 **Templates:**
@@ -462,16 +464,16 @@ def view(request, acronym):
462464 """
463465
464466 group = get_object_or_404 (Group , acronym = acronym )
465-
467+
466468 add_legacy_fields (group )
467-
469+
468470 return render_to_response ('groups/view.html' , {
469471 'group' : group },
470472 RequestContext (request , {}),
471473 )
472474
473475def view_gm (request , acronym ):
474- """
476+ """
475477 View IETF Group Goals and Milestones details
476478
477479 **Templates:**
0 commit comments