lib/actions/edit_prefs.py
changeset 60 dad9733c99f0
parent 47 2781ac85b807
child 61 a1bcf5e4b8a4
equal deleted inserted replaced
59:2c5e38748004 60:dad9733c99f0
       
     1 from templates import Template
       
     2 from webutils import load_index
       
     3 
       
     4 def edit_prefs(db, prefs, form):
       
     5     if form.has_key('kw_size'):
       
     6     	prefs['keywords_box'] = int(form['kw_size'].value)
       
     7     if form.has_key('kw_sort'):
       
     8     	prefs['keywords_sort'] = form['kw_sort'].value
       
     9     if form.has_key('default_view'):
       
    10     	prefs['default_view'] = int(form['default_view'].value)
       
    11     prefs['keywords_reverse'] = form.has_key('kw_reverse')
       
    12     if form.has_key('fullname'):
       
    13     	prefs['fullname'] = form['fullname'].value
       
    14     db.set_preferences(prefs)
       
    15     load_index(db, prefs, form, "result", "Preferences saved.")
       
    16 
       
    17 def view_prefs(prefs):
       
    18     tmpl = Template("prefs.tmpl", prefs)
       
    19     sortfields = []
       
    20     for field in ['keyword', 'count']:
       
    21       sortfields.append({'field': field,
       
    22                      'selected' : prefs['keywords_sort'] == field })
       
    23     tmpl.set('Sortfields', sortfields)
       
    24     views = []
       
    25     for view in [(0, 'dynamic'), (1, 'folder')]:
       
    26     	views.append({ 'view': view[0],
       
    27 	        'name': view[1],
       
    28 		'selected': prefs['default_view'] == view[0]} )
       
    29     tmpl.set('Views', views)
       
    30     print tmpl.process()
       
    31 
       
    32 def do_it(action, db, prefs, form):
       
    33 	if form.has_key('step'):
       
    34 		step = form['step']
       
    35 	else:
       
    36 		step = 'view'
       
    37 	if step == 'view':
       
    38 		view_prefs(prefs)
       
    39 	elif step == 'edit':
       
    40 		edit_prefs(prefs)
       
    41 	else:	
       
    42 		load_index(db, prefs, form, "error", "Operation cancel.")