~vila/uci-engine/enable-nova-and-swift

« back to all changes in this revision

Viewing changes to webui/tickets/static/tickets/webuiforms.js

  • Committer: Ubuntu CI Bot
  • Author(s): Parameswaran Sivatharman
  • Date: 2014-12-15 15:06:01 UTC
  • mfrom: (904.2.8 mps-field-inline-validation)
  • Revision ID: ubuntu_ci_bot-20141215150601-pf29ysv21lymaw2x
Inline validation of the MP entries whilst creating and editing tickets [r=Joe Talbott]

Show diffs side-by-side

added added

removed removed

Lines of Context:
147
147
                    {name: 'sources', label: 'Source Packages:',
148
148
                     type: 'TextareaField'},
149
149
                    {name: 'merge_proposals', label: 'Merge Proposals:',
 
150
                     validator: Y.webuiforms.validateMP,
150
151
                     type: 'TextareaField'},
151
152
                    {name: 'test_notes', label: 'Test notes:',
152
153
                     type: 'TextareaField'},
219
220
        },
220
221
 
221
222
        /**
 
223
         * Validate MP entries (locally only).
 
224
         *
 
225
         * @method validateMP
 
226
         */
 
227
        validateMP: function(val, field) {
 
228
            var s_filter = /https:\/\/code\.launchpad\.net\/~[-a-zA-Z0-9@:%._\+~#=]/;
 
229
            var e_filter = /\+merge\/[0-9]+$/;
 
230
            var mps = val.split(/[\s,]+/);
 
231
            for (var i = 0; i < mps.length; i++){
 
232
                if (s_filter.test(mps[i]) === false ||
 
233
                        e_filter.test(mps[i]) === false) {
 
234
                            // ignore newlines at the end
 
235
                            if (mps[i] !== ""){
 
236
                                field.set('error', 'The entry '+ mps[i] +
 
237
                                        ' is not a valid MP URL.');
 
238
                                return false;
 
239
                            }
 
240
                }
 
241
            }
 
242
            return true;
 
243
        },
 
244
 
 
245
        /**
222
246
         * Setup a form for editing a ticket.
223
247
         *
224
248
         * @method setupEditForm
244
268
                    {name: 'sources', label: 'Source Packages:',
245
269
                     type: 'TextareaField'},
246
270
                    {name: 'merge_proposals', label: 'Merge Proposals:',
 
271
                     validator: Y.webuiforms.validateMP,
247
272
                     type: 'TextareaField'},
248
273
                    {name: 'description', label: 'Description:',
249
274
                     type: 'TextareaField'},