+
+[%
+ INCLUDE wizard/delete.tt
+ modalId = "deleteModal"
+ label = "Delete " _ editprovider.name
+ description = "Are you sure you want to delete this provider? You cannot undo this step.";
+%]
diff --git a/views/authentication/providers.tt b/views/authentication/providers.tt
new file mode 100644
index 000000000..63e881a26
--- /dev/null
+++ b/views/authentication/providers.tt
@@ -0,0 +1,72 @@
+[%
+ # prepare table config
+ table_class = 'table-striped table-hover';
+ table_dom = '<"row row--header"<"col"f><"col-lg-auto dataTables_length_wrapper"l>><"row row--main"<"col-sm-12"tr>><"row row--footer"<"col-sm-12 col-lg-6"p><"col-sm-12 col-lg-6 dataTables_info_wrapper"i>>';
+ table_language = {
+ emptyTable => "There is no data available in this table",
+ lengthMenu => "Rows per page _MENU_",
+ paginate => {
+ next => "Next page",
+ previous => "Previous page"
+ },
+ search => "
+
+
+ [% INCLUDE tables/basic_table.tt; %]
+
+
+[%-
+ INCLUDE wizard/provider_add.tt endpoint="/api/authentication_providers" modalId="providerModal";
+-%]
diff --git a/views/layouts/main.tt b/views/layouts/main.tt
old mode 100755
new mode 100644
diff --git a/views/login.tt b/views/login.tt
old mode 100755
new mode 100644
index 244d3cd9c..b3479503a
--- a/views/login.tt
+++ b/views/login.tt
@@ -56,6 +56,9 @@
+
Request an account
diff --git a/views/login_saml.tt b/views/login_saml.tt
new file mode 100644
index 000000000..c2bfed190
--- /dev/null
+++ b/views/login_saml.tt
@@ -0,0 +1,53 @@
+
+
+
+[% UNLESS site.hide_account_request %]
+
+[% END %]
diff --git a/views/wizard/provider_add.tt b/views/wizard/provider_add.tt
new file mode 100644
index 000000000..6b9625dea
--- /dev/null
+++ b/views/wizard/provider_add.tt
@@ -0,0 +1,272 @@
+[%-
+ firstFrameFields = [];
+ secondFrameFields = [];
+ thirdFrameFields = [];
+
+ FOREACH field IN site.provider_fields;
+ IF field.name == "sso_url" OR field.name == "sso_xml";
+ next;
+ END;
+ IF field.name == "name" OR field.name == "type";
+ firstFrameFields.push(field);
+ ELSIF field.name == "entity_id" OR field.name == "saml2_firstname" OR
+ field.name == "saml2_surname" OR field.name == "saml2_groupname" OR
+ field.name == "saml2_relaystate" OR field.name == "saml2_nameid";
+ secondFrameFields.push(field);
+ ELSE;
+ thirdFrameFields.push(field);
+ END;
+ END;
+-%]
+