<div class="panel panel-default m-t-md"> <div class="panel-heading"> <span class="font-sbold" translate>{{ 'app.admin.settings.title' }}</span> </div> <div class="panel-body"> <div class="row m-t-lg"> <div class="col-md-4"> <text-setting name="fablab_name" settings="allSettings" label="app.admin.settings.fablab_title" fa-icon="fa-font"> </text-setting> </div> <div class="col-md-4 col-md-offset-1"> <form role="form" novalidate> <h4 class="control-label m-r" translate>{{ 'app.admin.settings.title_concordance' }}</h4> <div class="form-group"> <label for="nameGenreMale"> <input type="radio" name="nameGenre" id="nameGenreMale" ng-model="nameGenre.value" ng-value="'male'" /> {{ 'app.admin.settings.male' | translate }} <span style="font-weight: normal">{{ 'app.admin.settings.eg' | translate }} <cite>{{ 'app.admin.settings.the_team' | translate }} <strong translate>{{ 'app.admin.settings.male_preposition' }}</strong> {{allSettings.fablab_name}}</cite></span> </label> <br/> <label for="nameGenreFemale"> <input type="radio" name="nameGenre" id="nameGenreFemale" ng-model="nameGenre.value" ng-value="'female'" /> {{ 'app.admin.settings.female' | translate }} <span style="font-weight: normal">{{ 'app.admin.settings.eg' | translate }} <cite>{{ 'app.admin.settings.the_team' | translate }} <strong translate>{{ 'app.admin.settings.female_preposition' }}</strong> {{allSettings.fablab_name}}</cite></span> </label> <br/> <label for="nameGenreNeutral"> <input type="radio" name="nameGenre" id="nameGenreNeutral" ng-model="nameGenre.value" ng-value="'neutral'" /> {{ 'app.admin.settings.neutral' | translate }} <span style="font-weight: normal">{{ 'app.admin.settings.eg' | translate }} <cite>{{ 'app.admin.settings.the_team' | translate }} <strong translate>{{ 'app.admin.settings.neutral_preposition' }}</strong> {{allSettings.fablab_name}}</cite></span> </label> </div> <button name="button" class="btn btn-warning" ng-click="save(nameGenre)" translate>{{ 'app.shared.buttons.save' }}</button> </form> </div> </div> </div> </div> <div class="panel panel-default m-t-lg"> <div class="panel-heading"> <span class="font-sbold" translate>{{ 'app.admin.settings.customize_information_messages' }}</span> </div> <div class="panel-body"> <div class="row"> <div class="col-md-3"> <h4 translate>{{ 'app.admin.settings.message_of_the_machine_booking_page' }}</h4> <div ng-model="machineExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "app.admin.settings.type_the_message_content" | translate }}", "buttons": ["bold", "italic", "unorderedlist", "header2" ] }'> </div> <button name="button" class="btn btn-warning" ng-click="save(machineExplicationsAlert)" translate>{{ 'app.shared.buttons.save' }}</button> </div> <div class="col-md-3"> <h4 translate>{{ 'app.admin.settings.warning_message_of_the_training_booking_page'}}</h4> <div ng-model="trainingExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "app.admin.settings.type_the_message_content" | translate }}", "buttons": ["bold", "italic", "unorderedlist", "header2" ] }'> </div> <button name="button" class="btn btn-warning" ng-click="save(trainingExplicationsAlert)" translate>{{ 'app.shared.buttons.save' }}</button> </div> <div class="col-md-3"> <h4 translate>{{ 'app.admin.settings.information_message_of_the_training_reservation_page'}}</h4> <div ng-model="trainingInformationMessage.value" medium-editor options='{"placeholder": "{{ "app.admin.settings.type_the_message_content" | translate }}", "buttons": ["bold", "italic", "unorderedlist", "header2" ] }'> </div> <button name="button" class="btn btn-warning" ng-click="save(trainingInformationMessage)" translate>{{ 'app.shared.buttons.save' }}</button> </div> <div class="col-md-3"> <h4 translate>{{ 'app.admin.settings.message_of_the_subscriptions_page' }}</h4> <div ng-model="subscriptionExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "app.admin.settings.type_the_message_content" | translate }}", "buttons": ["bold", "italic", "unorderedlist", "header2" ] }'> </div> <button name="button" class="btn btn-warning" ng-click="save(subscriptionExplicationsAlert)" translate>{{ 'app.shared.buttons.save' }}</button> </div> <div class="col-md-3"> <h4 translate>{{ 'app.admin.settings.message_of_the_events_page' }}</h4> <div ng-model="eventExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "app.admin.settings.type_the_message_content" | translate }}", "buttons": ["bold", "italic", "unorderedlist", "header2" ] }'> </div> <button name="button" class="btn btn-warning" ng-click="save(eventExplicationsAlert)" translate>{{ 'app.shared.buttons.save' }}</button> </div> <div class="col-md-3" ng-show="modules.spaces"> <h4 translate>{{ 'app.admin.settings.message_of_the_spaces_page' }}</h4> <div ng-model="spaceExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "app.admin.settings.type_the_message_content" | translate }}", "buttons": ["bold", "italic", "unorderedlist", "header2" ] }'> </div> <button name="button" class="btn btn-warning" ng-click="save(spaceExplicationsAlert)" translate>{{ 'app.shared.buttons.save' }}</button> </div> </div> </div> </div> <div class="panel panel-default m-t-lg"> <div class="panel-heading"> <span class="font-sbold" translate>{{ 'app.admin.settings.legal_documents'}}</span> </div> <div class="panel-body"> <div class="alert alert-warning m-t" translate> {{ 'app.admin.settings.if_these_documents_are_not_filled_no_consent_about_them_will_be_asked_to_the_user' }} </div> <div class="row"> <form class="col-md-6" method="post" action="{{actionUrl.cgv}}" novalidate name="cgvForm" ng-upload="submited(content)" ng-submit="addLoader('cgv')" upload-options-enable-rails-csrf="true" unsaved-warning-form> <input type="hidden" name="custom_asset[name]" value="cgv-file"> <input name="_method" type="hidden" ng-value="methods.cgv"> <label for="tnc_file" class="control-label m-r" translate>{{ 'app.admin.settings.general_terms_and_conditions' }}</label> <div class="form-group"> <div class="fileinput input-group" data-provides="fileinput" ng-class="fileinputClass(cgvFile.custom_asset_file_attributes.attachment)"> <div class="form-control" data-trigger="fileinput"> <i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename">{{cgvFile.custom_asset_file_attributes.attachment}}</span> </div> <span class="input-group-addon btn btn-default btn-file"> <span class="fileinput-new" translate>{{ 'app.shared.buttons.browse' }}</span> <span class="fileinput-exists" translate>{{ 'app.shared.buttons.change' }}</span> <input type="file" id="tnc_file" name="custom_asset[custom_asset_file_attributes][attachment]" accept=".pdf" required /> </span> </div> </div> <button name="button" type="submit" ng-class="{'btn-loading':loader.cgv}" ng-disabled="cgvForm.$invalid" class="btn btn-warning" translate>{{ 'app.shared.buttons.save' }}</button> </form> </div> <div class="row m-t-xl"> <form class="col-md-6" method="post" action="{{actionUrl.cgu}}" novalidate name="cguForm" ng-upload="submited(content)" ng-submit="addLoader('cgu')" upload-options-enable-rails-csrf="true" unsaved-warning-form> <input type="hidden" name="custom_asset[name]" value="cgu-file"> <input name="_method" type="hidden" ng-value="methods.cgu"> <label for="tos_file" class="control-label m-r" translate>{{ 'app.admin.settings.terms_of_service' }}</label> <div class="form-group"> <div class="fileinput input-group" data-provides="fileinput" ng-class="fileinputClass(cguFile.custom_asset_file_attributes.attachment)"> <div class="form-control" data-trigger="fileinput"> <i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename">{{cguFile.custom_asset_file_attributes.attachment}}</span> </div> <span class="input-group-addon btn btn-default btn-file"> <span class="fileinput-new" translate>{{ 'app.shared.buttons.browse' }}</span> <span class="fileinput-exists" translate>{{ 'app.shared.buttons.change' }}</span> <input type="file" id="tos_file" name="custom_asset[custom_asset_file_attributes][attachment]" accept=".pdf" required /> </span> </div> </div> <button name="button" type="submit" ng-class="{'btn-loading':loader.cgu}" ng-disabled="cguForm.$invalid" class="btn btn-warning" translate>{{ 'app.shared.buttons.save' }}</button> </form> </div> </div> </div> <div class="panel panel-default m-t-lg"> <div class="panel-heading"> <span class="font-sbold" translate>{{ 'app.admin.settings.customize_the_graphics' }}</span> </div> <div class="panel-body"> <div class="alert alert-warning m-t"> <span translate>{{ 'app.admin.settings.for_an_optimal_rendering_the_logo_image_must_be_at_the_PNG_format_with_a_transparent_background_and_with_an_aspect_ratio_3.5_times_wider_than_the_height' }}</span><br/> <span translate>{{ 'app.admin.settings.concerning_the_favicon_it_must_be_at_ICO_format_with_a_size_of_16x16_pixels' }}</span><br/> <br/> <span translate>{{ 'app.admin.settings.remember_to_refresh_the_page_for_the_changes_to_take_effect' }}</span> </div> <div class="row"> <div class="col-md-4"> <form class="custom-logo-container" method="post" action="{{actionUrl.logo}}" novalidate name="logoForm" ng-upload="submited(content)" upload-options-enable-rails-csrf="true" unsaved-warning-form> <input type="hidden" name="custom_asset[name]" value="logo-file"> <input name="_method" type="hidden" ng-value="methods.logo"> <h3 class="m-l" translate>{{ 'app.admin.settings.logo_white_background' }}</h3> <div class="custom-logo" style="background-image: url({{customLogo}});"> <img src="data:image/png;base64," data-src="holder.js/100%x100%/text:/font:FontAwesome/icon-xs" bs-holder ng-show="!customLogo" class="img-responsive"> <img base-sixty-four-image="customLogo" ng-show="customLogo && customLogo.base64"> <img ng-src="{{customLogo.custom_asset_file_attributes.attachment_url}}" alt="{{customLogo.custom_asset_file_attributes.attachment}}" ng-show="customLogo && customLogo.custom_asset_file_attributes" /> <div class="tools-box"> <div class="btn-group"> <div class="btn btn-default btn-file"> <i class="fa fa-edit"></i> {{ 'app.admin.settings.change_the_logo' | translate }} <input type="file" accept="image/png,image/x-png" name="custom_asset[custom_asset_file_attributes][attachment]" ng-model="customLogo" base-sixty-four-input required /> </div> </div> </div> </div> <button name="button" type="submit" class="btn btn-warning m-t m-l" ng-disabled="logoForm.$invalid" translate>{{ 'app.shared.buttons.save' }}</button> </form> </div> <div class="col-md-4"> <form class="custom-logo-container" method="post" action="{{actionUrl.logoBlack}}" novalidate name="logoBlackForm" ng-upload="submited(content)" upload-options-enable-rails-csrf="true" unsaved-warning-form> <input type="hidden" name="custom_asset[name]" value="logo-black-file"> <input name="_method" type="hidden" ng-value="methods.logoBlack"> <h3 class="m-l" translate>{{ 'app.admin.settings.logo_black_background' }}</h3> <div class="custom-logo bg-dark" style="background-image: url({{customLogoBlack}});"> <img src="data:image/png;base64," data-src="holder.js/100%x100%/text:/font:FontAwesome/icon-black-xs" bs-holder ng-show="!customLogoBlack" class="img-responsive"> <img base-sixty-four-image="customLogoBlack" ng-show="customLogoBlack && customLogoBlack.base64"> <img ng-src="{{customLogoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{customLogoBlack.custom_asset_file_attributes.attachment}}" ng-show="customLogoBlack && customLogoBlack.custom_asset_file_attributes" /> <div class="tools-box"> <div class="btn-group"> <div class="btn btn-default btn-file"> <i class="fa fa-edit"></i> {{ 'app.admin.settings.change_the_logo' | translate }} <input type="file" accept="image/png,image/x-png" name="custom_asset[custom_asset_file_attributes][attachment]" ng-model="customLogoBlack" base-sixty-four-input required /> </div> </div> </div> </div> <button name="button" type="submit" class="btn btn-warning m-t m-l" ng-disabled="logoBlackForm.$invalid" translate>{{ 'app.shared.buttons.save' }}</button> </form> </div> <div class="col-md-4"> <form class="custom-favicon-container" method="post" action="{{actionUrl.favicon}}" novalidate name="faviconForm" ng-upload="submited(content)" upload-options-enable-rails-csrf="true" unsaved-warning-form> <input type="hidden" name="custom_asset[name]" value="favicon-file"> <input name="_method" type="hidden" ng-value="methods.favicon"> <h3 class="m-l" translate>{{ 'app.admin.settings.favicon' }}</h3> <div class="custom-favicon" style="background-image: url({{customFavicon}});"> <img src="data:image/png;base64," data-src="holder.js/32x32/text:/font:FontAwesome/icon-xs" bs-holder ng-show="!customFavicon" class="img-responsive"> <img base-sixty-four-image="customFavicon" ng-show="customFavicon && customFavicon.base64"> <img ng-src="{{customFavicon.custom_asset_file_attributes.attachment_url}}" alt="{{customFavicon.custom_asset_file_attributes.attachment}}" ng-show="customFavicon && customFavicon.custom_asset_file_attributes" /> <div class="tools-box"> <div class="btn-group"> <div class="btn btn-default btn-file"> <i class="fa fa-edit"></i> {{ 'app.admin.settings.change_the_favicon' | translate }} <input type="file" accept="image/png,image/x-png,image/x-icon,image/ico,image/vnd.microsoft.icon" name="custom_asset[custom_asset_file_attributes][attachment]" ng-model="customFavicon" base-sixty-four-input required /> </div> </div> </div> </div> <button name="button" type="submit" class="btn btn-warning m-t m-l" ng-disabled="faviconForm.$invalid" translate>{{ 'app.shared.buttons.save' }}</button> </form> </div> </div> <div class="row m-t m-l-xs"> <div class="col-md-4"> <h4 translate>{{ 'app.admin.settings.main_colour' }}</h4> <form role="form" class="form-inline" name="mainColorForm" novalidate> <div class="form-group"> <div class="input-group"> <div class="input-group-addon"> <i class="fa fa-paint-brush"></i> </div> <input type="text" minicolors ng-model="mainColorSetting.value" class="form-control" placeholder="{{ 'app.admin.settings.primary' | translate}}"/> </div> </div> <div class="form-group"> <button name="button" class="btn btn-warning" ng-click="save(mainColorSetting)" translate>{{ 'app.shared.buttons.save' }}</button> </div> </form> </div> <div class="col-md-4"> <h4 translate>{{ 'app.admin.settings.secondary_colour' }}</h4> <form role="form" class="form-inline" name="secondColorForm" novalidate> <div class="form-group"> <div class="input-group"> <div class="input-group-addon"> <i class="fa fa-paint-brush"></i> </div> <input type="text" minicolors ng-model="secondColorSetting.value" class="form-control" placeholder="{{ 'app.admin.settings.secondary' | translate}}"/> </div> </div> <div class="form-group"> <button name="button" class="btn btn-warning" ng-click="save(secondColorSetting)" translate>{{ 'app.shared.buttons.save' }}</button> </div> </form> </div> </div> <div class="row m-t"> <div class="col-md-4"> <form class="custom-profile-image-container" method="post" action="{{actionUrl.profileImage}}" novalidate name="profileImageForm" ng-upload="submited(content)" upload-options-enable-rails-csrf="true" unsaved-warning-form> <input type="hidden" name="custom_asset[name]" value="profile-image-file"> <input name="_method" type="hidden" ng-value="methods.profileImage"> <h3 class="m-l" translate>{{ 'app.admin.settings.background_picture_of_the_profile_banner' }}</h3> <div class="custom-profile-image" style="background-image: url({{profileImage}});"> <img src="data:image/png;base64," data-src="holder.js/100%x100%/text:/font:FontAwesome/icon-xs" bs-holder ng-show="!profileImage" class="img-responsive"> <img base-sixty-four-image="profileImage" ng-show="profileImage && profileImage.base64"> <img ng-src="{{profileImage.custom_asset_file_attributes.attachment_url}}" alt="{{profileImage.custom_asset_file_attributes.attachment}}" ng-show="profileImage && profileImage.custom_asset_file_attributes" /> <div class="tools-box"> <div class="btn-group"> <div class="btn btn-default btn-file"> <i class="fa fa-edit"></i> {{ 'app.admin.settings.change_the_profile_banner' | translate }} <input type="file" accept="image/png,image/x-png" name="custom_asset[custom_asset_file_attributes][attachment]" ng-model="profileImage" base-sixty-four-input required /> </div> </div> </div> </div> <button name="button" type="submit" class="btn btn-warning m-t m-l" ng-disabled="profileImageForm.$invalid" translate>{{ 'app.shared.buttons.save' }}</button> </form> </div> </div> </div> </div> <div class="panel panel-default m-t-lg"> <div class="panel-heading"> <span class="font-sbold" translate>{{ 'app.admin.settings.elements_ordering' }}</span> </div> <div class="panel-body"> <div class="row"> <div class="col-md-4"> <h3 class="m-l" translate>{{ 'app.admin.settings.machines_order' }}</h3> <select-setting name="machines_sort_by" settings="allSettings" classes="m-l" label="app.admin.settings.display_machines_sorted_by" option-1="['default', 'app.admin.settings.sort_by.default']" option-2="['name', 'app.admin.settings.sort_by.name']" option-3="['created_at', 'app.admin.settings.sort_by.created_at']" option-4="['updated_at', 'app.admin.settings.sort_by.updated_at']"> </select-setting> </div> </div> </div> </div> <div class="panel panel-default m-t-md"> <div class="panel-heading"> <span class="font-sbold" translate>{{ 'app.admin.settings.account_creation' }}</span> </div> <div class="panel-body"> <div class="row"> <h3 class="m-l" translate>{{ 'app.admin.settings.phone' }}</h3> <p class="alert alert-warning m-h-md" translate> {{ 'app.admin.settings.phone_required_info' }} </p> <div class="col-md-10 col-md-offset-1"> <boolean-setting name="phone_required" settings="allSettings" label="app.admin.settings.phone_is_required" yes-label="app.shared.buttons.yes" no-label="app.shared.buttons.no"> </boolean-setting> </div> </div> <div class="row"> <h3 class="m-l" translate>{{ 'app.admin.settings.captcha' }}</h3> <p class="alert alert-warning m-h-md" ng-bind-html="'app.admin.settings.captcha_info_html' | translate"></p> <div class="col-md-6"> <text-setting name="recaptcha_site_key" settings="allSettings" label="app.admin.settings.site_key" fa-icon="fa-info" placeholder="0000000000000000000000000000000000000000"> </text-setting> </div> <div class="col-md-6"> <text-setting name="recaptcha_secret_key" settings="allSettings" label="app.admin.settings.secret_key" fa-icon="fa-key" placeholder="0000000000000000000000000000000000000000"> </text-setting> </div> </div> </div> </div> <div class="panel panel-default m-t-lg"> <div class="panel-heading"> <span class="font-sbold" translate>{{ 'app.admin.settings.modules' }}</span> </div> <div class="panel-body"> <p class="alert alert-info"><i class="fa fa-info-circle m-r"></i><span translate>{{ 'app.admin.settings.remember_to_refresh_the_page_for_the_changes_to_take_effect' }}</span> </p> <div class="row"> <h3 class="m-l" translate>{{ 'app.admin.settings.spaces' }}</h3> <p class="alert alert-warning m-h-md" ng-bind-html="'app.admin.settings.spaces_info_html' | translate"></p> <boolean-setting name="spaces_module" settings="allSettings" label="app.admin.settings.enable_spaces" classes="m-l" yes-label="app.shared.buttons.yes" no-label="app.shared.buttons.no"></boolean-setting> </div> <div class="row"> <h3 class="m-l" translate>{{ 'app.admin.settings.plans' }}</h3> <p class="alert alert-warning m-h-md" ng-bind-html="'app.admin.settings.plans_info_html' | translate"></p> <boolean-setting name="plans_module" settings="allSettings" label="app.admin.settings.enable_plans" classes="m-l" yes-label="app.shared.buttons.yes" no-label="app.shared.buttons.no"></boolean-setting> </div> <div class="row"> <h3 class="m-l" translate>{{ 'app.admin.settings.invoicing' }}</h3> <p class="alert alert-warning m-h-md" ng-bind-html="'app.admin.settings.invoicing_info_html' | translate"></p> <boolean-setting name="invoicing_module" settings="allSettings" label="app.admin.settings.enable_invoicing" classes="m-l" yes-label="app.shared.buttons.yes" no-label="app.shared.buttons.no"></boolean-setting> </div> </div> </div>