2 # (c) Petr Baudis <pasky@suse.cz>
14 my $gcgi = Girocco
::CGI
->new('Project Removal');
17 my $name = $cgi->param('name');
19 unless (defined $name) {
20 print "<p>I need the project name as an argument now.</p>\n";
24 if (!Girocco
::Project
::valid_name
($name)) {
25 print "<p>Invalid project name. Go away, sorcerer.</p>\n";
29 if (!Girocco
::Project
::does_exist
($name)) {
30 print "<p>Sorry but this project does not exist. Now, how did you <em>get</em> here?!</p>\n";
34 if (!Girocco
::Project
::available
($name)) {
35 print "<p>Sorry but your project has not finished mirroring yet. If it takes inordinate amount of time, please tell the administrator.</p>\n";
39 my $proj = Girocco
::Project
->load($name);
40 $proj or die "not found project $name, that's really weird!";
41 $proj->{cpwd
} = $cgi->param('cpwd');
43 if (!$proj->{mirror
}) {
44 print "<p>Sorry but you can remove only mirrored projects. Pushed projects cannot be removed. Please tell the administrator if you really want to.</p>\n";
48 if ($proj->has_forks()) {
49 print "<p>Sorry but this project has forks associated. Such projects cannot be removed. Please tell the administrator if you really want to.</p>\n";
53 if ($cgi->param('y0')) {
55 if (not $proj->authenticate($gcgi)) {
59 print "<p>Project successfuly deleted. Have a nice day.</p>\n";
63 my $url = $proj->{url
};
66 <p>Please confirm that you are going to remove mirrored project
67 $name ($url) from the site.</p>
69 <input type="hidden" name="name" value="$name" />
71 if ($Girocco::Config
::project_passwords
) {
73 <p>Admin password: <input type="password" name="cpwd" /> <sup><a href="pwproj.cgi?name=$name">(forgot password?)</a></sup></p>
77 <p><input type="submit" name="y0" value="Remove" /></p>