Commit 066c0e17 authored by theo lem's avatar theo lem
Browse files

Merge branch 'create-default-pages-menu' into 'master'

Button to create default pages

Closes #104

See merge request framasoft/framaforms!47
parents 6beb1dbb 8e8aed70
......@@ -14,7 +14,7 @@ function framaforms_menu () {
'page callback' => 'drupal_get_form',
'page arguments' => array('framaforms_config_form'),
'access arguments' => array('access administration pages'),
'type' => MENU_NORMAL_ITEM,
'type' => MENU_CALLBACK,
'file' => 'includes/framaforms.admin.inc',
);
$items['admin/framaforms/dashboard'] = array(
......@@ -42,14 +42,6 @@ function framaforms_menu () {
'access arguments' => array('access content'),
'file' => 'includes/framaforms.pages.inc',
);
$items['admin/framaforms/create_default_pages'] = array(
'title' => t('Créer les pages par défaut'),
'description' => t("Accéder à ce menu déclenche la création des pages par défaut (page d'accueil, de fonctionnalités, etc.)"),
'page callback' => 'create_all_pages',
'type' => MENU_NORMAL_ITEM,
'access arguments' => array('access administration pages'),
'file' => 'includes/framaforms.pages.inc',
);
return $items;
}
......@@ -582,4 +574,4 @@ function framaforms_node_delete ($node) {
->condition('source', 'node/'.$node->nid)
->execute();
}
}
}
\ No newline at end of file
......@@ -159,22 +159,54 @@ function framaforms_config_form ($form, &$form_state) {
'#description' => t("Vous pouvez ici configurer le contenu de la page d'expiration des formulaires : il s'agit de la page sur laquelle seront redirigé⋅e⋅s les utilisateurices se rendant sur un formulaire dont la date d'expiration est passée. Vous pouvez utiliser les jetons suivants : <strong>[my_forms_url]</strong> (lien vers la page « Mes formulaires »)"),
'#default_value' => variable_get('framaforms_expiration_page_content'),
'#required' => TRUE,
);
return system_settings_form($form);
);
$form['create-default-pages'] = array(
'#type' => 'button',
'#value' => t('Générer les pages par défaut'),
'#description' => t("En cliquant sur ce bouton, vous créerez des pages par défaut pour votre site : page d'accueil, pages d'erreur 404/403, etc. Vous pourrez les modifier ou les supprimer par la suite."),
'#submit' => array('admin_menu_create_pages_callback'),
'#executes_submit_callback' => TRUE,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Enregistrer'),
'#submit' => array('system_settings_form_submit'),
);
return $form;
}
/**
* Inplements hook_form_validate : checks the values for the Framaofrms module configuration form
* @return void
*/
function framaforms_config_form_validate ($form, &$form_state) {
//assert that time interval values are numeric
$expiration_interval = $form_state['values']['framaforms_expiration_default_value'];
if(!is_numeric($expiration_interval)){
form_set_error(t('Les valeurs de temps doivent être exprimées en chiffres.'));
}
$deletion_interval = $form_state['values']['framaforms_deletion_period_value'];
if(!is_numeric($deletion_interval)){
form_set_error(t('Les valeurs de temps doivent être exprimées en chiffres.'));
}
}
\ No newline at end of file
/**
* Secondary callback for the "Generate pages" button
*
* @return void
*/
function admin_menu_create_pages_callback () {
module_load_include('inc', 'framaforms', 'includes/framaforms.pages');
create_all_pages();
drupal_set_message('ok ! pages created');
}
/**
* Inplements hook_form_validate : checks the values of expiration and deletion period
* and checks they are numeric.
* @return void
*/
function framaforms_config_form_validate ($form, &$form_state) {
$values = $form_state['values'];
if(!is_numeric($values['framaforms_deletion_period_value'])){
drupal_set_message(t("Erreur dans les valeurs administratives de Framaforms."));
form_set_error('framaforms_deletion_period_value', t('Deletion period and expiration period should be numeric'));
}
if(!is_numeric($values['framaforms_expiration_period_default_value'])){
drupal_set_message(t("Erreur dans les valeurs administratives de Framaforms."));
form_set_error('framaforms_expiration_period_default_value', t("Les périodes d'expiration et de suppression doivent être numérique."));
}
}
/**
* Implements hook_form_submit
* @return void
*/
function framaforms_config_form_submit ($form, &$form_state) {
drupal_set_message('form submitted !');
}
\ No newline at end of file
......@@ -23,7 +23,7 @@ function create_custom_page ($page_title, $file_name){
->execute()
->fetchAssoc();
if($query){
watchdog('framaforms', 'returning from query in create_custom_page()');
// early return if a page with the same title is found in the database.
return -1;
}
$custom_node = new stdClass();
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment