diff --git a/wf_environment/wf_environment.module b/wf_environment/wf_environment.module
index b6b949a..9040489 100644
--- a/wf_environment/wf_environment.module
+++ b/wf_environment/wf_environment.module
@@ -872,6 +872,18 @@ function wf_environment_dev() {
function wf_environment_delete_form($form, $form_state, $env) {
$env_uri = entity_uri('wf_environment', $env);
$title = entity_label('wf_environment', $env);
+ $job_count = wf_environment_get_job_count($env->id);
+
+ if ($job_count > 0) {
+ drupal_set_title(t("Delete @title", array('@title' => $title)), PASS_THROUGH);
+ drupal_set_message(t('Unable to delete environment'), 'error');
+ return array(
+ 'disclaimer' => array(
+ '#markup' => t('Unable to delete environment because jobs are associated with it.'),
+ ),
+ );
+ }
+
return confirm_form(
$form,
t("Are you sure you want to delete @title?", array('@title' => $title)),
@@ -891,3 +903,16 @@ function wf_environment_delete_form_submit($form, &$form_state) {
drupal_set_message(t("Environment '@title' was successfully deleted.", array('@title' => $title)));
$form_state['redirect'] = url('admin/content/environments');
}
+
+/**
+ * Gets related job count from a environment.
+ */
+function wf_environment_get_job_count($env_id) {
+ $results = db_select('wf_job', 'wf_job')
+ ->fields('wf_job')
+ ->condition('eid', $env_id)
+ ->countQuery()
+ ->execute()
+ ->fetchField();
+ return $results;
+}