Mozilla/mozilla/webtools/litmus/enter_test.cgi
ccooper%deadsquid.com 729b978398 Misc.
- removed references to Time::Piece::* modules. The default date behavior has burned us a few time now (most notably in the Session code), so we need to be explicit about our dates and date comparisons.
- standardized how we make our calls to Date::Manip
- implemented a logError method and use it replace all old STDERR output references
- manage_categories cleanup: show product name in branch listing, making it easier to find which branch you're looking for when many branches have the same name. Do the same thing for opsyses and platforms.
- added Litmus::Utils::sanitize() for processing CGI input


git-svn-id: svn://10.0.0.236/trunk@252331 18797224-902f-48f8-a5cc-f745e15eee43
2008-06-13 21:07:48 +00:00

81 lines
2.3 KiB
Perl
Executable File

#!/usr/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Litmus.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Zach Lipton <zach@zachlipton.com>
use strict;
use Litmus;
use Litmus::Error;
use Litmus::DB::Product;
use Litmus::Auth;
use Litmus::Utils;
use CGI;
use Date::Manip;
Litmus->init();
my $c = Litmus->cgi();
# for the moment, you must be an admin to enter tests:
Litmus::Auth::requireAdmin('enter_test.cgi');
# if we're here for the first time, display the enter testcase form,
# otherwise, process the results:
if (! $c->param('enteringTestcase')) {
my $vars = {
};
print $c->header();
Litmus->template()->process("enter/enter.html.tmpl", $vars) ||
internalError(Litmus->template()->error());
} else {
requireField('product', $c->param('product'));
requireField('test group', $c->param('testgroup'));
requireField('subgroup', $c->param('subgroup'));
requireField('summary', $c->param('summary'));
my $newtest = Litmus::DB::Testcase->create({
product => $c->param('product'),
summary => $c->param('summary'),
steps => $c->param('steps') ? $c->param('steps') : '',
expected_results => $c->param('expectedResults') ?
$c->param('expectedResults') : '',
author => Litmus::Auth::getCurrentUser(),
creation_date => &Date::Manip::UnixDate("now","%q"),
version => 1,
});
my $newtsg = Litmus::DB::TestcaseSubgroup->create({
test => $newtest,
subgroup => $c->param('subgroup'),
});
my $vars = {
test => $newtest,
};
print $c->header();
Litmus->template()->process("enter/enterComplete.html.tmpl", $vars) ||
internalError(Litmus->template()->error());
}