Added the webhooks.
This commit is contained in:
@@ -475,44 +475,45 @@ class IDF_Views_Project
|
||||
|
||||
/**
|
||||
* Administrate the source control.
|
||||
*
|
||||
* There, the login/password of the subversion remote repo can be
|
||||
* change together with the webhook url.
|
||||
*/
|
||||
public $adminSource_precond = array('IDF_Precondition::projectOwner');
|
||||
public function adminSource($request, $match)
|
||||
{
|
||||
$prj = $request->project;
|
||||
$title = sprintf(__('%s Source'), (string) $prj);
|
||||
$form = null;
|
||||
$remote_svn = false;
|
||||
if ($request->conf->getVal('scm') == 'svn' and
|
||||
strlen($request->conf->getVal('svn_remote_url')) > 0) {
|
||||
$remote_svn = true;
|
||||
$extra = array(
|
||||
'conf' => $request->conf,
|
||||
);
|
||||
if ($request->method == 'POST') {
|
||||
$form = new IDF_Form_SourceConf($request->POST, $extra);
|
||||
if ($form->isValid()) {
|
||||
foreach ($form->cleaned_data as $key=>$val) {
|
||||
$request->conf->setVal($key, $val);
|
||||
}
|
||||
$request->user->setMessage(__('The project source configuration has been saved.'));
|
||||
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Project::adminSource',
|
||||
array($prj->shortname));
|
||||
return new Pluf_HTTP_Response_Redirect($url);
|
||||
|
||||
$remote_svn = ($request->conf->getVal('scm') == 'svn' and
|
||||
strlen($request->conf->getVal('svn_remote_url')) > 0);
|
||||
$extra = array(
|
||||
'conf' => $request->conf,
|
||||
'remote_svn' => $remote_svn,
|
||||
);
|
||||
if ($request->method == 'POST') {
|
||||
$form = new IDF_Form_SourceConf($request->POST, $extra);
|
||||
if ($form->isValid()) {
|
||||
foreach ($form->cleaned_data as $key=>$val) {
|
||||
$request->conf->setVal($key, $val);
|
||||
}
|
||||
} else {
|
||||
$params = array();
|
||||
foreach (array('svn_username', 'svn_password') as $key) {
|
||||
$_val = $request->conf->getVal($key, false);
|
||||
if ($_val !== false) {
|
||||
$params[$key] = $_val;
|
||||
}
|
||||
}
|
||||
if (count($params) == 0) {
|
||||
$params = null; //Nothing in the db, so new form.
|
||||
}
|
||||
$form = new IDF_Form_SourceConf($params, $extra);
|
||||
$request->user->setMessage(__('The project source configuration has been saved.'));
|
||||
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Project::adminSource',
|
||||
array($prj->shortname));
|
||||
return new Pluf_HTTP_Response_Redirect($url);
|
||||
}
|
||||
} else {
|
||||
$params = array();
|
||||
foreach (array('svn_username', 'svn_password', 'webhook_url') as $key) {
|
||||
$_val = $request->conf->getVal($key, false);
|
||||
if ($_val !== false) {
|
||||
$params[$key] = $_val;
|
||||
}
|
||||
}
|
||||
if (count($params) == 0) {
|
||||
$params = null; //Nothing in the db, so new form.
|
||||
}
|
||||
$form = new IDF_Form_SourceConf($params, $extra);
|
||||
}
|
||||
$scm = $request->conf->getVal('scm', 'git');
|
||||
$options = array(
|
||||
@@ -529,6 +530,7 @@ class IDF_Views_Project
|
||||
'repository_size' => $prj->getRepositorySize(),
|
||||
'page_title' => $title,
|
||||
'form' => $form,
|
||||
'hookkey' => $prj->getPostCommitHookKey(),
|
||||
),
|
||||
$request);
|
||||
}
|
||||
|
Reference in New Issue
Block a user