Mercurial > p > roundup > code
annotate templates/classic/html/user_utils.js @ 3854:f4e8dc583256
Restored subject parser regexp to the string it was before the...
...implementation of customization of it, i.e., the version from
CVS revision 1.184 of mailgw.py.
This makes 'testFollowupTitleMatchMultiRe' work again.
| author | Erik Forsberg <forsberg@users.sourceforge.net> |
|---|---|
| date | Sat, 12 May 2007 16:14:54 +0000 |
| parents | 18def94e5150 |
| children | 3eb45e7f0d57 |
| rev | line source |
|---|---|
|
3704
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
1 // User Editing Utilities |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
2 |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
3 /** |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
4 * for new users: |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
5 * Depending on the input field which calls it, takes the value |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
6 * and dispatches it to certain other input fields: |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
7 * |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
8 * address |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
9 * +-> username |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
10 * | `-> realname |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
11 * `-> organisation |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
12 */ |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
13 function split_name(that) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
14 var raw = that.value |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
15 var val = trim(raw) |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
16 if (val == '') { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
17 return |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
18 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
19 var username='' |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
20 var realname='' |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
21 var address='' |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
22 switch (that.name) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
23 case 'address': |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
24 address=val |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
25 break |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
26 case 'username': |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
27 username=val |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
28 break |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
29 case 'realname': |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
30 realname=val |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
31 break |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
32 default: |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
33 alert('Ooops - unknown name field '+that.name+'!') |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
34 return |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
35 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
36 var the_form = that.form; |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
37 |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
38 function field_empty(name) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
39 return the_form[name].value == '' |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
40 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
41 |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
42 // no break statements - on purpose! |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
43 switch (that.name) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
44 case 'address': |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
45 var split1 = address.split('@') |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
46 if (field_empty('username')) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
47 username = split1[0] |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
48 the_form.username.value = username |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
49 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
50 if (field_empty('organisation')) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
51 the_form.organisation.value = default_organisation(split1[1]) |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
52 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
53 case 'username': |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
54 if (field_empty('realname')) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
55 realname = Cap(username.split('.').join(' ')) |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
56 the_form.realname.value = realname |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
57 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
58 case 'realname': |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
59 if (field_empty('username')) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
60 username = Cap(realname.replace(' ', '.')) |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
61 the_form.username.value = username |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
62 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
63 if (the_form.firstname && the_form.lastname) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
64 var split2 = realname.split(' ') |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
65 var firstname='', lastname='' |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
66 firstname = split2[0] |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
67 lastname = split2.slice(1).join(' ') |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
68 if (field_empty('firstname')) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
69 the_form.firstname.value = firstname |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
70 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
71 if (field_empty('lastname')) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
72 the_form.lastname.value = lastname |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
73 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
74 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
75 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
76 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
77 |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
78 function SubCap(str) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
79 switch (str) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
80 case 'de': case 'do': case 'da': |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
81 case 'du': case 'von': |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
82 return str; |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
83 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
84 if (str.toLowerCase().slice(0,2) == 'mc') { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
85 return 'Mc'+str.slice(2,3).toUpperCase()+str.slice(3).toLowerCase() |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
86 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
87 return str.slice(0,1).toUpperCase()+str.slice(1).toLowerCase() |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
88 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
89 |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
90 function Cap(str) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
91 var liz = str.split(' ') |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
92 for (var i=0; i<liz.length; i++) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
93 liz[i] = SubCap(liz[i]) |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
94 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
95 return liz.join(' ') |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
96 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
97 |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
98 /** |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
99 * Takes a domain name (behind the @ part of an email address) |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
100 * Customise this to handle the mail domains you're interested in |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
101 */ |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
102 function default_organisation(orga) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
103 switch (orga.toLowerCase()) { |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
104 case 'gmx': |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
105 case 'yahoo': |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
106 return '' |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
107 default: |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
108 return orga |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
109 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
110 } |
|
18def94e5150
macro th_label:
Tobias Herp <tobias-herp@users.sourceforge.net>
parents:
diff
changeset
|
111 |
