mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2025-01-17 06:52:27 +01:00
refactoring i18n keys: trainings + modals + various missings
This commit is contained in:
parent
1124159f2e
commit
14c3abb449
@ -675,7 +675,7 @@ Application.Controllers.controller('CreateEventModalController', ['$scope', '$ui
|
|||||||
if (items.length === 0) return `<span class="text-gray text-italic">${_t("app.admin.calendar.none")}</span>`;
|
if (items.length === 0) return `<span class="text-gray text-italic">${_t("app.admin.calendar.none")}</span>`;
|
||||||
|
|
||||||
const names = items.map(function (i) { return $sce.trustAsHtml(`<strong>${i.name}</strong>`); });
|
const names = items.map(function (i) { return $sce.trustAsHtml(`<strong>${i.name}</strong>`); });
|
||||||
if (items.length > 1) return names.slice(0, -1).join(', ') + ` ${_t('and')} ` + names[names.length - 1];
|
if (items.length > 1) return names.slice(0, -1).join(', ') + ` ${_t('app.admin.calendar.and')} ` + names[names.length - 1];
|
||||||
|
|
||||||
return names[0];
|
return names[0];
|
||||||
}
|
}
|
||||||
|
@ -54,15 +54,15 @@ Application.Controllers.controller('GroupsController', ['$scope', 'groupsPromise
|
|||||||
*/
|
*/
|
||||||
$scope.saveGroup = function (data, id) {
|
$scope.saveGroup = function (data, id) {
|
||||||
if (id != null) {
|
if (id != null) {
|
||||||
return Group.update({ id }, { group: data }, response => growl.success(_t('group_form.changes_successfully_saved'))
|
return Group.update({ id }, { group: data }, response => growl.success(_t('app.admin.members.group_form.changes_successfully_saved'))
|
||||||
, error => growl.error(_t('group_form.an_error_occurred_while_saving_changes')));
|
, error => growl.error(_t('app.admin.members.group_form.an_error_occurred_while_saving_changes')));
|
||||||
} else {
|
} else {
|
||||||
return Group.save({ group: data }, function (resp) {
|
return Group.save({ group: data }, function (resp) {
|
||||||
growl.success(_t('group_form.new_group_successfully_saved'));
|
growl.success(_t('app.admin.members.group_form.new_group_successfully_saved'));
|
||||||
return $scope.groups[$scope.groups.length - 1].id = resp.id;
|
return $scope.groups[$scope.groups.length - 1].id = resp.id;
|
||||||
}
|
}
|
||||||
, function (error) {
|
, function (error) {
|
||||||
growl.error(_t('.group_forman_error_occurred_when_saving_the_new_group'));
|
growl.error(_t('app.admin.members.group_form.an_error_occurred_when_saving_the_new_group'));
|
||||||
return $scope.groups.splice($scope.groups.length - 1, 1);
|
return $scope.groups.splice($scope.groups.length - 1, 1);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -74,10 +74,10 @@ Application.Controllers.controller('GroupsController', ['$scope', 'groupsPromise
|
|||||||
*/
|
*/
|
||||||
$scope.removeGroup = index =>
|
$scope.removeGroup = index =>
|
||||||
Group.delete({ id: $scope.groups[index].id }, function (resp) {
|
Group.delete({ id: $scope.groups[index].id }, function (resp) {
|
||||||
growl.success(_t('group_form.group_successfully_deleted'));
|
growl.success(_t('app.admin.members.group_form.group_successfully_deleted'));
|
||||||
return $scope.groups.splice(index, 1);
|
return $scope.groups.splice(index, 1);
|
||||||
}
|
}
|
||||||
, error => growl.error(_t('group_form.unable_to_delete_group_because_some_users_and_or_groups_are_still_linked_to_it')));
|
, error => growl.error(_t('app.admin.members.group_form.unable_to_delete_group_because_some_users_and_or_groups_are_still_linked_to_it')));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enable/disable the group at the specified index
|
* Enable/disable the group at the specified index
|
||||||
@ -86,13 +86,13 @@ Application.Controllers.controller('GroupsController', ['$scope', 'groupsPromise
|
|||||||
return $scope.toggleDisableGroup = function (index) {
|
return $scope.toggleDisableGroup = function (index) {
|
||||||
const group = $scope.groups[index];
|
const group = $scope.groups[index];
|
||||||
if (!group.disabled && (group.users > 0)) {
|
if (!group.disabled && (group.users > 0)) {
|
||||||
return growl.error(_t('group_form.unable_to_disable_group_with_users', { USERS: group.users }));
|
return growl.error(_t('app.admin.members.group_form.unable_to_disable_group_with_users', { USERS: group.users }));
|
||||||
} else {
|
} else {
|
||||||
return Group.update({ id: group.id }, { group: { disabled: !group.disabled } }, function (response) {
|
return Group.update({ id: group.id }, { group: { disabled: !group.disabled } }, function (response) {
|
||||||
$scope.groups[index] = response;
|
$scope.groups[index] = response;
|
||||||
return growl.success(_t('group_form.group_successfully_enabled_disabled', { STATUS: response.disabled }));
|
return growl.success(_t('app.admin.members.group_form.group_successfully_enabled_disabled', { STATUS: response.disabled }));
|
||||||
}
|
}
|
||||||
, error => growl.error(_t('group_form.unable_to_enable_disable_group', { STATUS: !group.disabled })));
|
, error => growl.error(_t('app.admin.members.group_form.unable_to_enable_disable_group', { STATUS: !group.disabled })));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -705,8 +705,8 @@ Application.Controllers.controller('AvoirModalController', ['$scope', '$uibModal
|
|||||||
|
|
||||||
// If a subscription was took with the current invoice, should it be canceled or not
|
// If a subscription was took with the current invoice, should it be canceled or not
|
||||||
$scope.subscriptionExpireOptions = {};
|
$scope.subscriptionExpireOptions = {};
|
||||||
$scope.subscriptionExpireOptions[_t('yes')] = true;
|
$scope.subscriptionExpireOptions[_t('app.shared.buttons.yes')] = true;
|
||||||
$scope.subscriptionExpireOptions[_t('no')] = false;
|
$scope.subscriptionExpireOptions[_t('app.shared.buttons.no')] = false;
|
||||||
|
|
||||||
// AngularUI-Bootstrap datepicker parameters to define when to refund
|
// AngularUI-Bootstrap datepicker parameters to define when to refund
|
||||||
$scope.datePicker = {
|
$scope.datePicker = {
|
||||||
|
@ -192,8 +192,8 @@ Application.Controllers.controller('AdminMembersController', ['$scope', '$sce',
|
|||||||
resolve: {
|
resolve: {
|
||||||
object () {
|
object () {
|
||||||
return {
|
return {
|
||||||
title: _t('confirmation_required'),
|
title: _t('app.admin.members.confirmation_required'),
|
||||||
msg: $sce.trustAsHtml(_t('confirm_delete_member') + '<br/><br/>' + _t('this_may_take_a_while_please_wait'))
|
msg: $sce.trustAsHtml(_t('app.admin.members.confirm_delete_member') + '<br/><br/>' + _t('app.admin.members.this_may_take_a_while_please_wait'))
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -203,9 +203,9 @@ Application.Controllers.controller('AdminMembersController', ['$scope', '$sce',
|
|||||||
{ id: memberId },
|
{ id: memberId },
|
||||||
function () {
|
function () {
|
||||||
$scope.members.splice(findItemIdxById($scope.members, memberId), 1);
|
$scope.members.splice(findItemIdxById($scope.members, memberId), 1);
|
||||||
return growl.success(_t('member_successfully_deleted'));
|
return growl.success(_t('app.admin.members.member_successfully_deleted'));
|
||||||
},
|
},
|
||||||
function (error) { growl.error(_t('unable_to_delete_the_member')); }
|
function (error) { growl.error(_t('app.admin.members.unable_to_delete_the_member')); }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -222,8 +222,8 @@ Application.Controllers.controller('AdminMembersController', ['$scope', '$sce',
|
|||||||
resolve: {
|
resolve: {
|
||||||
object () {
|
object () {
|
||||||
return {
|
return {
|
||||||
title: _t('confirmation_required'),
|
title: _t('app.admin.members.confirmation_required'),
|
||||||
msg: $sce.trustAsHtml(_t('do_you_really_want_to_delete_this_administrator_this_cannot_be_undone') + '<br/><br/>' + _t('this_may_take_a_while_please_wait'))
|
msg: $sce.trustAsHtml(_t('app.admin.members.do_you_really_want_to_delete_this_administrator_this_cannot_be_undone') + '<br/><br/>' + _t('app.admin.members.this_may_take_a_while_please_wait'))
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -233,9 +233,9 @@ Application.Controllers.controller('AdminMembersController', ['$scope', '$sce',
|
|||||||
{ id: admin.id },
|
{ id: admin.id },
|
||||||
function () {
|
function () {
|
||||||
admins.splice(findItemIdxById(admins, admin.id), 1);
|
admins.splice(findItemIdxById(admins, admin.id), 1);
|
||||||
return growl.success(_t('administrator_successfully_deleted'));
|
return growl.success(_t('app.admin.members.administrator_successfully_deleted'));
|
||||||
},
|
},
|
||||||
function (error) { growl.error(_t('unable_to_delete_the_administrator')); }
|
function (error) { growl.error(_t('app.admin.members.unable_to_delete_the_administrator')); }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -268,7 +268,7 @@ Application.Controllers.controller('AdminMembersController', ['$scope', '$sce',
|
|||||||
$scope.alertExport = function (type) {
|
$scope.alertExport = function (type) {
|
||||||
Export.status({ category: 'users', type }).then(function (res) {
|
Export.status({ category: 'users', type }).then(function (res) {
|
||||||
if (!res.data.exists) {
|
if (!res.data.exists) {
|
||||||
return growl.success(_t('export_is_running_you_ll_be_notified_when_its_ready'));
|
return growl.success(_t('app.admin.members.export_is_running_you_ll_be_notified_when_its_ready'));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -424,10 +424,10 @@ Application.Controllers.controller('EditMemberController', ['$scope', '$state',
|
|||||||
{ id: subscription.id },
|
{ id: subscription.id },
|
||||||
{ subscription: { expired_at: $scope.new_expired_at, free } },
|
{ subscription: { expired_at: $scope.new_expired_at, free } },
|
||||||
function (_subscription) {
|
function (_subscription) {
|
||||||
growl.success(_t('you_successfully_changed_the_expiration_date_of_the_user_s_subscription'));
|
growl.success(_t('app.admin.members_edit.you_successfully_changed_the_expiration_date_of_the_user_s_subscription'));
|
||||||
return $uibModalInstance.close(_subscription);
|
return $uibModalInstance.close(_subscription);
|
||||||
},
|
},
|
||||||
function (error) { growl.error(_t('a_problem_occurred_while_saving_the_date')); }
|
function (error) { growl.error(_t('app.admin.members_edit.a_problem_occurred_while_saving_the_date')); }
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -471,12 +471,12 @@ Application.Controllers.controller('EditMemberController', ['$scope', '$state',
|
|||||||
$scope.ok = function () {
|
$scope.ok = function () {
|
||||||
$scope.subscription.user_id = user.id;
|
$scope.subscription.user_id = user.id;
|
||||||
return Subscription.save({ }, { subscription: $scope.subscription }, function (_subscription) {
|
return Subscription.save({ }, { subscription: $scope.subscription }, function (_subscription) {
|
||||||
growl.success(_t('subscription_successfully_purchased'));
|
growl.success(_t('app.admin.members_edit.subscription_successfully_purchased'));
|
||||||
$uibModalInstance.close(_subscription);
|
$uibModalInstance.close(_subscription);
|
||||||
return $state.reload();
|
return $state.reload();
|
||||||
}
|
}
|
||||||
, function (error) {
|
, function (error) {
|
||||||
growl.error(_t('a_problem_occurred_while_taking_the_subscription'));
|
growl.error(_t('app.admin.members_edit.a_problem_occurred_while_taking_the_subscription'));
|
||||||
console.error(error);
|
console.error(error);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -536,11 +536,11 @@ Application.Controllers.controller('EditMemberController', ['$scope', '$state',
|
|||||||
avoir_description: $scope.description
|
avoir_description: $scope.description
|
||||||
},
|
},
|
||||||
function (_wallet) {
|
function (_wallet) {
|
||||||
growl.success(_t('wallet_credit_successfully'));
|
growl.success(_t('app.shared.wallet.wallet_credit_successfully'));
|
||||||
return $uibModalInstance.close(_wallet);
|
return $uibModalInstance.close(_wallet);
|
||||||
},
|
},
|
||||||
function (error) {
|
function (error) {
|
||||||
growl.error(_t('a_problem_occurred_for_wallet_credit'));
|
growl.error(_t('app.shared.wallet.a_problem_occurred_for_wallet_credit'));
|
||||||
console.error(error);
|
console.error(error);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -750,11 +750,11 @@ Application.Controllers.controller('NewAdminController', ['$state', '$scope', 'A
|
|||||||
{},
|
{},
|
||||||
{ admin: $scope.admin },
|
{ admin: $scope.admin },
|
||||||
function () {
|
function () {
|
||||||
growl.success(_t('administrator_successfully_created_he_will_receive_his_connection_directives_by_email', { GENDER: getGender($scope.admin) }));
|
growl.success(_t('app.admin.admins_new.administrator_successfully_created_he_will_receive_his_connection_directives_by_email', { GENDER: getGender($scope.admin) }));
|
||||||
return $state.go('app.admin.members');
|
return $state.go('app.admin.members');
|
||||||
}
|
}
|
||||||
, function (error) {
|
, function (error) {
|
||||||
growl.error(_t('failed_to_create_admin') + JSON.stringify(error.data ? error.data : error));
|
growl.error(_t('app.admin.admins_new.failed_to_create_admin') + JSON.stringify(error.data ? error.data : error));
|
||||||
console.error(error);
|
console.error(error);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -528,7 +528,7 @@ Application.Controllers.controller('EditPricingController', ['$scope', '$state',
|
|||||||
, function () {
|
, function () {
|
||||||
// the admin has confirmed, delete the coupon
|
// the admin has confirmed, delete the coupon
|
||||||
Coupon.delete({ id }, function (res) {
|
Coupon.delete({ id }, function (res) {
|
||||||
growl.success(_t('coupon_was_successfully_deleted'));
|
growl.success(_t('app.admin.pricing.coupon_was_successfully_deleted'));
|
||||||
return $scope.coupons.splice(findItemIdxById(coupons, id), 1);
|
return $scope.coupons.splice(findItemIdxById(coupons, id), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,7 +166,7 @@ Application.Controllers.controller('SettingsController', ['$scope', '$filter', '
|
|||||||
Setting.update(
|
Setting.update(
|
||||||
{ name: setting.name },
|
{ name: setting.name },
|
||||||
{ value },
|
{ value },
|
||||||
function () { growl.success(_t('app.admin.settings.customization_of_SETTING_successfully_saved', { SETTING: _t(`settings.${setting.name}`) })); },
|
function () { growl.success(_t('app.admin.settings.customization_of_SETTING_successfully_saved', { SETTING: _t(`app.admin.settings.${setting.name}`) })); },
|
||||||
function (error) { console.log(error); }
|
function (error) { console.log(error); }
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -276,8 +276,8 @@ Application.Controllers.controller('TrainingsAdminController', ['$scope', '$stat
|
|||||||
resolve: {
|
resolve: {
|
||||||
object () {
|
object () {
|
||||||
return {
|
return {
|
||||||
title: _t('confirmation_required'),
|
title: _t('app.admin.trainings.confirmation_required'),
|
||||||
msg: _t('do_you_really_want_to_delete_this_training')
|
msg: _t('app.admin.trainings.do_you_really_want_to_delete_this_training')
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -285,10 +285,10 @@ Application.Controllers.controller('TrainingsAdminController', ['$scope', '$stat
|
|||||||
function () { // deletion confirmed
|
function () { // deletion confirmed
|
||||||
training.$delete(function () {
|
training.$delete(function () {
|
||||||
$scope.trainings.splice(index, 1);
|
$scope.trainings.splice(index, 1);
|
||||||
growl.info(_t('training_successfully_deleted'));
|
growl.info(_t('app.admin.trainings.training_successfully_deleted'));
|
||||||
},
|
},
|
||||||
function (error) {
|
function (error) {
|
||||||
growl.warning(_t('unable_to_delete_the_training_because_some_users_alredy_booked_it'));
|
growl.warning(_t('app.admin.trainings.unable_to_delete_the_training_because_some_users_already_booked_it'));
|
||||||
console.error(error);
|
console.error(error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -149,7 +149,7 @@ Application.Controllers.controller('ApplicationController', ['$rootScope', '$sco
|
|||||||
$uibModalInstance.close(user);
|
$uibModalInstance.close(user);
|
||||||
} else {
|
} else {
|
||||||
// the user was not saved in database, something wrong occurred
|
// the user was not saved in database, something wrong occurred
|
||||||
growl.error(_t('unexpected_error_occurred'));
|
growl.error(_t('app.public.common.unexpected_error_occurred'));
|
||||||
}
|
}
|
||||||
}, function (error) {
|
}, function (error) {
|
||||||
// creation failed...
|
// creation failed...
|
||||||
@ -204,7 +204,7 @@ Application.Controllers.controller('ApplicationController', ['$rootScope', '$sco
|
|||||||
};
|
};
|
||||||
}]
|
}]
|
||||||
}).result['finally'](null).then(function () {
|
}).result['finally'](null).then(function () {
|
||||||
growl.success(_t('your_password_was_successfully_changed'));
|
growl.success(_t('app.public.common.your_password_was_successfully_changed'));
|
||||||
return Auth.login().then(function (user) {
|
return Auth.login().then(function (user) {
|
||||||
$scope.setCurrentUser(user);
|
$scope.setCurrentUser(user);
|
||||||
}, function (error) {
|
}, function (error) {
|
||||||
@ -375,7 +375,7 @@ Application.Controllers.controller('ApplicationController', ['$rootScope', '$sco
|
|||||||
console.error(`Authentication failed: ${JSON.stringify(error)}`);
|
console.error(`Authentication failed: ${JSON.stringify(error)}`);
|
||||||
$scope.alerts = [];
|
$scope.alerts = [];
|
||||||
return $scope.alerts.push({
|
return $scope.alerts.push({
|
||||||
msg: _t('wrong_email_or_password'),
|
msg: _t('app.public.common.wrong_email_or_password'),
|
||||||
type: 'danger'
|
type: 'danger'
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -418,13 +418,13 @@ Application.Controllers.controller('ApplicationController', ['$rootScope', '$sco
|
|||||||
$scope.alerts = [];
|
$scope.alerts = [];
|
||||||
return $http.post('/users/password.json', { user: $scope.user }).then(function () { $uibModalInstance.close(); }).catch(function () {
|
return $http.post('/users/password.json', { user: $scope.user }).then(function () { $uibModalInstance.close(); }).catch(function () {
|
||||||
$scope.alerts.push({
|
$scope.alerts.push({
|
||||||
msg: _t('your_email_address_is_unknown'),
|
msg: _t('app.public.common.your_email_address_is_unknown'),
|
||||||
type: 'danger'
|
type: 'danger'
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
}]
|
}]
|
||||||
}).result['finally'](null).then(function () { growl.info(_t('you_will_receive_in_a_moment_an_email_with_instructions_to_reset_your_password')); });
|
}).result['finally'](null).then(function () { growl.info(_t('app.public.common.you_will_receive_in_a_moment_an_email_with_instructions_to_reset_your_password')); });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// otherwise the user just closed the modal
|
// otherwise the user just closed the modal
|
||||||
|
@ -142,10 +142,10 @@ Application.Controllers.controller('EditProfileController', ['$scope', '$rootSco
|
|||||||
$rootScope.currentUser = user;
|
$rootScope.currentUser = user;
|
||||||
Auth._currentUser.group_id = user.group_id;
|
Auth._currentUser.group_id = user.group_id;
|
||||||
$scope.group.change = false;
|
$scope.group.change = false;
|
||||||
return growl.success(_t('edit_profile.your_group_has_been_successfully_changed'));
|
return growl.success(_t('app.logged.dashboard.settings.your_group_has_been_successfully_changed'));
|
||||||
}
|
}
|
||||||
, function (err) {
|
, function (err) {
|
||||||
growl.error(_t('edit_profile.an_unexpected_error_prevented_your_group_from_being_changed'));
|
growl.error(_t('app.logged.dashboard.settings.an_unexpected_error_prevented_your_group_from_being_changed'));
|
||||||
return console.error(err);
|
return console.error(err);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -198,13 +198,13 @@ Application.Controllers.controller('EditProfileController', ['$scope', '$rootSco
|
|||||||
resolve: {
|
resolve: {
|
||||||
object () {
|
object () {
|
||||||
return {
|
return {
|
||||||
title: _t('confirmation_required'),
|
title: _t('app.logged.dashboard.settings.confirmation_required'),
|
||||||
msg: $sce.trustAsHtml(
|
msg: $sce.trustAsHtml(
|
||||||
_t('edit_profile.confirm_delete_your_account') + '<br/>' +
|
_t('app.logged.dashboard.settings.confirm_delete_your_account') + '<br/>' +
|
||||||
'<strong>' + _t('edit_profile.all_data_will_be_lost') + '</strong><br/><br/>' +
|
'<strong>' + _t('app.logged.dashboard.settings.all_data_will_be_lost') + '</strong><br/><br/>' +
|
||||||
_t('edit_profile.invoicing_data_kept') + '<br/>' +
|
_t('app.logged.dashboard.settings.invoicing_data_kept') + '<br/>' +
|
||||||
_t('edit_profile.statistic_data_anonymized') + '<br/>' +
|
_t('app.logged.dashboard.settings.statistic_data_anonymized') + '<br/>' +
|
||||||
_t('edit_profile.no_further_access_to_projects')
|
_t('app.logged.dashboard.settings.no_further_access_to_projects')
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -214,12 +214,12 @@ Application.Controllers.controller('EditProfileController', ['$scope', '$rootSco
|
|||||||
Member.remove({ id: user.id }, () =>
|
Member.remove({ id: user.id }, () =>
|
||||||
Auth.logout().then(function () {
|
Auth.logout().then(function () {
|
||||||
$state.go('app.public.home');
|
$state.go('app.public.home');
|
||||||
return growl.success(_t('edit_profile.your_user_account_has_been_successfully_deleted_goodbye'));
|
return growl.success(_t('app.logged.dashboard.settings.your_user_account_has_been_successfully_deleted_goodbye'));
|
||||||
})
|
})
|
||||||
|
|
||||||
, function (error) {
|
, function (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
return growl.error(_t('edit_profile.an_error_occured_preventing_your_account_from_being_deleted'));
|
return growl.error(_t('app.logged.dashboard.settings.an_error_occured_preventing_your_account_from_being_deleted'));
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ Application.Controllers.controller('PlansIndexController', ['$scope', '$rootScop
|
|||||||
const amountToPay = helpers.getAmountToPay($scope.cart.total, wallet.amount);
|
const amountToPay = helpers.getAmountToPay($scope.cart.total, wallet.amount);
|
||||||
if (($scope.currentUser.role !== 'admin') && (amountToPay > 0)) {
|
if (($scope.currentUser.role !== 'admin') && (amountToPay > 0)) {
|
||||||
if ($rootScope.fablabWithoutOnlinePayment) {
|
if ($rootScope.fablabWithoutOnlinePayment) {
|
||||||
growl.error(_t('online_payment_disabled'));
|
growl.error(_t('app.public.plans.online_payment_disabled'));
|
||||||
} else {
|
} else {
|
||||||
return payByStripe();
|
return payByStripe();
|
||||||
}
|
}
|
||||||
@ -323,7 +323,7 @@ Application.Controllers.controller('PlansIndexController', ['$scope', '$rootScop
|
|||||||
if ((price.price > 0) && ($scope.walletAmount === 0)) {
|
if ((price.price > 0) && ($scope.walletAmount === 0)) {
|
||||||
$scope.validButtonName = _t('app.public.plans.confirm_payment_of_html', { ROLE: $scope.currentUser.role, AMOUNT: $filter('currency')(price.price) });
|
$scope.validButtonName = _t('app.public.plans.confirm_payment_of_html', { ROLE: $scope.currentUser.role, AMOUNT: $filter('currency')(price.price) });
|
||||||
} else {
|
} else {
|
||||||
$scope.validButtonName = _t('confirm');
|
$scope.validButtonName = _t('app.shared.buttons.confirm');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ Application.Controllers.controller('CompleteProfileController', ['$scope', '$roo
|
|||||||
if (err.data.error) {
|
if (err.data.error) {
|
||||||
growl.error(err.data.error);
|
growl.error(err.data.error);
|
||||||
} else {
|
} else {
|
||||||
growl.error(_t('an_unexpected_error_occurred_check_your_authentication_code'));
|
growl.error(_t('app.logged.profile_completion.an_unexpected_error_occurred_check_your_authentication_code'));
|
||||||
console.error(err);
|
console.error(err);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -174,7 +174,7 @@ Application.Controllers.controller('CompleteProfileController', ['$scope', '$roo
|
|||||||
function (email) {
|
function (email) {
|
||||||
// Request the server to send an auth-migration email to the current user
|
// Request the server to send an auth-migration email to the current user
|
||||||
AuthProvider.send_code({ email },
|
AuthProvider.send_code({ email },
|
||||||
function (res) { growl.info(_t('code_successfully_sent_again')); },
|
function (res) { growl.info(_t('app.logged.profile_completion.code_successfully_sent_again')); },
|
||||||
function (err) { growl.error(err.data.error); }
|
function (err) { growl.error(err.data.error); }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -185,7 +185,7 @@ Application.Controllers.controller('ShowSpaceController', ['$scope', '$state', '
|
|||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
// check the permissions
|
// check the permissions
|
||||||
if ($scope.currentUser.role !== 'admin') {
|
if ($scope.currentUser.role !== 'admin') {
|
||||||
return console.error(_t('space_show.unauthorized_operation'));
|
return console.error(_t('app.public.space_show.unauthorized_operation'));
|
||||||
} else {
|
} else {
|
||||||
return dialogs.confirm({
|
return dialogs.confirm({
|
||||||
resolve: {
|
resolve: {
|
||||||
|
@ -47,15 +47,15 @@ Application.Controllers.controller('ShowTrainingController', ['$scope', '$state'
|
|||||||
$scope.delete = function (training) {
|
$scope.delete = function (training) {
|
||||||
// check the permissions
|
// check the permissions
|
||||||
if ($scope.currentUser.role !== 'admin') {
|
if ($scope.currentUser.role !== 'admin') {
|
||||||
console.error(_t('unauthorized_operation'));
|
growl.error(_t('app.public.training_show.unauthorized_operation'));
|
||||||
} else {
|
} else {
|
||||||
dialogs.confirm(
|
dialogs.confirm(
|
||||||
{
|
{
|
||||||
resolve: {
|
resolve: {
|
||||||
object () {
|
object () {
|
||||||
return {
|
return {
|
||||||
title: _t('confirmation_required'),
|
title: _t('app.public.training_show.confirmation_required'),
|
||||||
msg: _t('do_you_really_want_to_delete_this_training')
|
msg: _t('app.public.training_show.do_you_really_want_to_delete_this_training')
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -65,7 +65,7 @@ Application.Controllers.controller('ShowTrainingController', ['$scope', '$state'
|
|||||||
training.$delete(
|
training.$delete(
|
||||||
function () { $state.go('app.public.trainings_list'); },
|
function () { $state.go('app.public.trainings_list'); },
|
||||||
function (error) {
|
function (error) {
|
||||||
growl.warning(_t('the_training_cant_be_deleted_because_it_is_already_reserved_by_some_users'));
|
growl.warning(_t('app.public.training_show.the_training_cant_be_deleted_because_it_is_already_reserved_by_some_users'));
|
||||||
console.error(error);
|
console.error(error);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -208,7 +208,7 @@ Application.Controllers.controller('ReserveTrainingController', ['$scope', '$sta
|
|||||||
*/
|
*/
|
||||||
$scope.markSlotAsModifying = function () {
|
$scope.markSlotAsModifying = function () {
|
||||||
$scope.selectedEvent.backgroundColor = '#eee';
|
$scope.selectedEvent.backgroundColor = '#eee';
|
||||||
$scope.selectedEvent.title = $scope.selectedEvent.training.name + ' - ' + _t('i_change');
|
$scope.selectedEvent.title = $scope.selectedEvent.training.name + ' - ' + _t('app.logged.trainings_reserve.i_change');
|
||||||
return updateCalendar();
|
return updateCalendar();
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -222,7 +222,7 @@ Application.Controllers.controller('ReserveTrainingController', ['$scope', '$sta
|
|||||||
}
|
}
|
||||||
if (!$scope.events.placable || ($scope.events.placable._id !== $scope.selectedEvent._id)) {
|
if (!$scope.events.placable || ($scope.events.placable._id !== $scope.selectedEvent._id)) {
|
||||||
$scope.selectedEvent.backgroundColor = '#bbb';
|
$scope.selectedEvent.backgroundColor = '#bbb';
|
||||||
$scope.selectedEvent.title = $scope.selectedEvent.training.name + ' - ' + _t('i_shift');
|
$scope.selectedEvent.title = $scope.selectedEvent.training.name + ' - ' + _t('app.logged.trainings_reserve.i_shift');
|
||||||
}
|
}
|
||||||
return updateCalendar();
|
return updateCalendar();
|
||||||
};
|
};
|
||||||
@ -231,7 +231,7 @@ Application.Controllers.controller('ReserveTrainingController', ['$scope', '$sta
|
|||||||
* When modifying an already booked reservation, callback when the modification was successfully done.
|
* When modifying an already booked reservation, callback when the modification was successfully done.
|
||||||
*/
|
*/
|
||||||
$scope.modifyTrainingSlot = function () {
|
$scope.modifyTrainingSlot = function () {
|
||||||
$scope.events.placable.title = $scope.currentUser.role !== 'admin' ? $scope.events.placable.training.name + ' - ' + _t('i_ve_reserved') : $scope.events.placable.training.name;
|
$scope.events.placable.title = $scope.currentUser.role !== 'admin' ? $scope.events.placable.training.name + ' - ' + _t('app.logged.trainings_reserve.i_ve_reserved') : $scope.events.placable.training.name;
|
||||||
$scope.events.placable.backgroundColor = 'white';
|
$scope.events.placable.backgroundColor = 'white';
|
||||||
$scope.events.placable.borderColor = $scope.events.modifiable.borderColor;
|
$scope.events.placable.borderColor = $scope.events.modifiable.borderColor;
|
||||||
$scope.events.placable.id = $scope.events.modifiable.id;
|
$scope.events.placable.id = $scope.events.modifiable.id;
|
||||||
@ -257,7 +257,7 @@ Application.Controllers.controller('ReserveTrainingController', ['$scope', '$sta
|
|||||||
$scope.events.placable.backgroundColor = 'white';
|
$scope.events.placable.backgroundColor = 'white';
|
||||||
$scope.events.placable.title = $scope.events.placable.training.name;
|
$scope.events.placable.title = $scope.events.placable.training.name;
|
||||||
}
|
}
|
||||||
$scope.events.modifiable.title = $scope.currentUser.role !== 'admin' ? $scope.events.modifiable.training.name + ' - ' + _t('i_ve_reserved') : $scope.events.modifiable.training.name;
|
$scope.events.modifiable.title = $scope.currentUser.role !== 'admin' ? $scope.events.modifiable.training.name + ' - ' + _t('app.logged.trainings_reserve.i_ve_reserved') : $scope.events.modifiable.training.name;
|
||||||
$scope.events.modifiable.backgroundColor = 'white';
|
$scope.events.modifiable.backgroundColor = 'white';
|
||||||
|
|
||||||
return updateCalendar();
|
return updateCalendar();
|
||||||
@ -329,7 +329,7 @@ Application.Controllers.controller('ReserveTrainingController', ['$scope', '$sta
|
|||||||
$scope.events.paid[0].can_modify = true;
|
$scope.events.paid[0].can_modify = true;
|
||||||
updateTrainingSlotId($scope.events.paid[0], reservation);
|
updateTrainingSlotId($scope.events.paid[0], reservation);
|
||||||
$scope.events.paid[0].borderColor = '#b2e774';
|
$scope.events.paid[0].borderColor = '#b2e774';
|
||||||
$scope.events.paid[0].title = $scope.events.paid[0].training.name + ' - ' + _t('i_ve_reserved');
|
$scope.events.paid[0].title = $scope.events.paid[0].training.name + ' - ' + _t('app.logged.trainings_reserve.i_ve_reserved');
|
||||||
|
|
||||||
if ($scope.selectedPlan) {
|
if ($scope.selectedPlan) {
|
||||||
$scope.ctrl.member.subscribed_plan = angular.copy($scope.selectedPlan);
|
$scope.ctrl.member.subscribed_plan = angular.copy($scope.selectedPlan);
|
||||||
|
@ -117,7 +117,7 @@ Application.Directives.directive('cart', [ '$rootScope', '$uibModal', 'dialogs',
|
|||||||
return $scope.modePlans = true;
|
return $scope.modePlans = true;
|
||||||
} else {
|
} else {
|
||||||
// otherwise we alert, this error musn't occur when the current user hasn't the admin role
|
// otherwise we alert, this error musn't occur when the current user hasn't the admin role
|
||||||
return growl.error(_t('cart.please_select_a_member_first'));
|
return growl.error(_t('app.shared.cart.please_select_a_member_first'));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -133,7 +133,7 @@ Application.Directives.directive('cart', [ '$rootScope', '$uibModal', 'dialogs',
|
|||||||
const amountToPay = helpers.getAmountToPay($scope.amountTotal, wallet.amount);
|
const amountToPay = helpers.getAmountToPay($scope.amountTotal, wallet.amount);
|
||||||
if (!$scope.isAdmin() && (amountToPay > 0)) {
|
if (!$scope.isAdmin() && (amountToPay > 0)) {
|
||||||
if ($rootScope.fablabWithoutOnlinePayment) {
|
if ($rootScope.fablabWithoutOnlinePayment) {
|
||||||
growl.error(_t('cart.online_payment_disabled'));
|
growl.error(_t('app.shared.cart.online_payment_disabled'));
|
||||||
} else {
|
} else {
|
||||||
return payByStripe(reservation);
|
return payByStripe(reservation);
|
||||||
}
|
}
|
||||||
@ -145,7 +145,7 @@ Application.Directives.directive('cart', [ '$rootScope', '$uibModal', 'dialogs',
|
|||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// otherwise we alert, this error musn't occur when the current user is not admin
|
// otherwise we alert, this error musn't occur when the current user is not admin
|
||||||
return growl.error(_t('cart.please_select_a_member_first'));
|
return growl.error(_t('app.shared.cart.please_select_a_member_first'));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -173,7 +173,7 @@ Application.Directives.directive('cart', [ '$rootScope', '$uibModal', 'dialogs',
|
|||||||
return $scope.events.modifiable = null;
|
return $scope.events.modifiable = null;
|
||||||
}
|
}
|
||||||
, function (err) { // failure
|
, function (err) { // failure
|
||||||
growl.error(_t('cart.unable_to_change_the_reservation'));
|
growl.error(_t('app.shared.cart.unable_to_change_the_reservation'));
|
||||||
return console.error(err);
|
return console.error(err);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -315,19 +315,19 @@ Application.Directives.directive('cart', [ '$rootScope', '$uibModal', 'dialogs',
|
|||||||
resolve: {
|
resolve: {
|
||||||
object () {
|
object () {
|
||||||
return {
|
return {
|
||||||
title: _t('cart.confirmation_required'),
|
title: _t('app.shared.cart.confirmation_required'),
|
||||||
msg: _t('cart.do_you_really_want_to_cancel_this_reservation')
|
msg: _t('app.shared.cart.do_you_really_want_to_cancel_this_reservation')
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
function () { // cancel confirmed
|
function () { // cancel confirmed
|
||||||
Slot.cancel({ id: $scope.slot.id }, function () { // successfully canceled
|
Slot.cancel({ id: $scope.slot.id }, function () { // successfully canceled
|
||||||
growl.success(_t('cart.reservation_was_cancelled_successfully'));
|
growl.success(_t('app.shared.cart.reservation_was_cancelled_successfully'));
|
||||||
if (typeof $scope.onSlotCancelSuccess === 'function') { return $scope.onSlotCancelSuccess(); }
|
if (typeof $scope.onSlotCancelSuccess === 'function') { return $scope.onSlotCancelSuccess(); }
|
||||||
}
|
}
|
||||||
, function () { // error while canceling
|
, function () { // error while canceling
|
||||||
growl.error(_t('cart.cancellation_failed'));
|
growl.error(_t('app.shared.cart.cancellation_failed'));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -403,7 +403,7 @@ Application.Directives.directive('cart', [ '$rootScope', '$uibModal', 'dialogs',
|
|||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// otherwise we alert, this error musn't occur when the current user is not admin
|
// otherwise we alert, this error musn't occur when the current user is not admin
|
||||||
growl.warning(_t('cart.please_select_a_member_first'));
|
growl.warning(_t('app.shared.cart.please_select_a_member_first'));
|
||||||
return $scope.amountTotal = null;
|
return $scope.amountTotal = null;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -556,12 +556,12 @@ Application.Directives.directive('cart', [ '$rootScope', '$uibModal', 'dialogs',
|
|||||||
|
|
||||||
// Button label
|
// Button label
|
||||||
if ($scope.amount > 0) {
|
if ($scope.amount > 0) {
|
||||||
$scope.validButtonName = _t('cart.confirm_payment_of_html', { ROLE: $rootScope.currentUser.role, AMOUNT: $filter('currency')($scope.amount) });
|
$scope.validButtonName = _t('app.shared.cart.confirm_payment_of_html', { ROLE: $rootScope.currentUser.role, AMOUNT: $filter('currency')($scope.amount) });
|
||||||
} else {
|
} else {
|
||||||
if ((price.price > 0) && ($scope.walletAmount === 0)) {
|
if ((price.price > 0) && ($scope.walletAmount === 0)) {
|
||||||
$scope.validButtonName = _t('cart.confirm_payment_of_html', { ROLE: $rootScope.currentUser.role, AMOUNT: $filter('currency')(price.price) });
|
$scope.validButtonName = _t('app.shared.cart.confirm_payment_of_html', { ROLE: $rootScope.currentUser.role, AMOUNT: $filter('currency')(price.price) });
|
||||||
} else {
|
} else {
|
||||||
$scope.validButtonName = _t('confirm');
|
$scope.validButtonName = _t('app.shared.buttons.confirm');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -576,7 +576,7 @@ Application.Directives.directive('cart', [ '$rootScope', '$uibModal', 'dialogs',
|
|||||||
}
|
}
|
||||||
, function (response) {
|
, function (response) {
|
||||||
$scope.alerts = [];
|
$scope.alerts = [];
|
||||||
$scope.alerts.push({ msg: _t('cart.a_problem_occurred_during_the_payment_process_please_try_again_later'), type: 'danger' });
|
$scope.alerts.push({ msg: _t('app.shared.cart.a_problem_occurred_during_the_payment_process_please_try_again_later'), type: 'danger' });
|
||||||
return $scope.attempting = false;
|
return $scope.attempting = false;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -53,15 +53,15 @@ Application.Directives.directive('coupon', [ '$rootScope', 'Coupon', '_t', funct
|
|||||||
$scope.status = 'valid';
|
$scope.status = 'valid';
|
||||||
$scope.coupon = res;
|
$scope.coupon = res;
|
||||||
if (res.type === 'percent_off') {
|
if (res.type === 'percent_off') {
|
||||||
return $scope.messages.push({ type: 'success', message: _t('the_coupon_has_been_applied_you_get_PERCENT_discount', { PERCENT: res.percent_off }) });
|
return $scope.messages.push({ type: 'success', message: _t('app.shared.coupon_input.the_coupon_has_been_applied_you_get_PERCENT_discount', { PERCENT: res.percent_off }) });
|
||||||
} else {
|
} else {
|
||||||
return $scope.messages.push({ type: 'success', message: _t('the_coupon_has_been_applied_you_get_AMOUNT_CURRENCY', { AMOUNT: res.amount_off, CURRENCY: $rootScope.currencySymbol }) });
|
return $scope.messages.push({ type: 'success', message: _t('app.shared.coupon_input.the_coupon_has_been_applied_you_get_AMOUNT_CURRENCY', { AMOUNT: res.amount_off, CURRENCY: $rootScope.currencySymbol }) });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
, function (err) {
|
, function (err) {
|
||||||
$scope.status = 'invalid';
|
$scope.status = 'invalid';
|
||||||
$scope.coupon = null;
|
$scope.coupon = null;
|
||||||
return $scope.messages.push({ type: 'danger', message: _t(`unable_to_apply_the_coupon_because_${err.data.status}`) });
|
return $scope.messages.push({ type: 'danger', message: _t(`app.shared.coupon_input.unable_to_apply_the_coupon_because_${err.data.status}`) });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -73,7 +73,7 @@ Application.Directives.directive('stripeForm', ['Payment', 'growl', '_t',
|
|||||||
if (response.error.statusText) {
|
if (response.error.statusText) {
|
||||||
growl.error(response.error.statusText);
|
growl.error(response.error.statusText);
|
||||||
} else {
|
} else {
|
||||||
growl.error(`${_t('payment_card_error')} ${response.error}`);
|
growl.error(`${_t('app.shared.messages.payment_card_error')} ${response.error}`);
|
||||||
}
|
}
|
||||||
confirmButton.prop('disabled', false);
|
confirmButton.prop('disabled', false);
|
||||||
} else if (response.requires_action) {
|
} else if (response.requires_action) {
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-xs-10 col-sm-10 col-md-8 b-l">
|
<div class="col-xs-10 col-sm-10 col-md-8 b-l">
|
||||||
<section class="heading-title">
|
<section class="heading-title">
|
||||||
<h1 translate>{{ 'add_an_administrator' }}</h1>
|
<h1 translate>{{ 'app.admin.admins_new.add_an_administrator' }}</h1>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="panel-footer no-padder">
|
<div class="panel-footer no-padder">
|
||||||
<input type="submit" value="{{ 'save' | translate}}" class="r-b btn-valid btn btn-warning btn-block p-lg btn-lg text-u-c" ng-click="saveAdmin()" ng-disabled="adminForm.$invalid"/>
|
<input type="submit" value="{{ 'app.shared.buttons.save' | translate}}" class="r-b btn-valid btn btn-warning btn-block p-lg btn-lg text-u-c" ng-click="saveAdmin()" ng-disabled="adminForm.$invalid"/>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</form>
|
</form>
|
||||||
|
@ -176,6 +176,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="modal-footer" ng-show="step === 5">
|
<div class="modal-footer" ng-show="step === 5">
|
||||||
<button class="btn btn-info" ng-click="previous()" translate>{{ 'app.admin.calendar.previous' }}</button>
|
<button class="btn btn-info" ng-click="previous()" translate>{{ 'app.admin.calendar.previous' }}</button>
|
||||||
<button class="btn btn-warning" ng-click="ok()" translate>{{ 'confirm' }}</button>
|
<button class="btn btn-warning" ng-click="ok()" translate>{{ 'app.shared.buttons.confirm' }}</button>
|
||||||
<button class="btn btn-default" ng-click="cancel()" translate>{{ 'app.shared.buttons.cancel' }}</button>
|
<button class="btn btn-default" ng-click="cancel()" translate>{{ 'app.shared.buttons.cancel' }}</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -49,7 +49,7 @@
|
|||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-addon">{{ "invoices.date_" | translate }}</span>
|
<span class="input-group-addon">{{ "app.admin.invoices.date_" | translate }}</span>
|
||||||
<input type="date" ng-model="searchInvoice.date" class="form-control" ng-change="handleFilterChange()">
|
<input type="date" ng-model="searchInvoice.date" class="form-control" ng-change="handleFilterChange()">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -193,14 +193,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div medium-editor class="invoice-text invoice-editable" ng-model="invoice.text.content"
|
<div medium-editor class="invoice-text invoice-editable" ng-model="invoice.text.content"
|
||||||
options='{
|
options='{
|
||||||
"placeholder": "{{ "invoices.important_notes" | translate }}",
|
"placeholder": "{{ "app.admin.invoices.important_notes" | translate }}",
|
||||||
"buttons": ["underline"]
|
"buttons": ["underline"]
|
||||||
}'
|
}'
|
||||||
ng-blur="textEditEnd($event)">
|
ng-blur="textEditEnd($event)">
|
||||||
</div>
|
</div>
|
||||||
<div medium-editor class="invoice-legals invoice-editable" ng-model="invoice.legals.content"
|
<div medium-editor class="invoice-legals invoice-editable" ng-model="invoice.legals.content"
|
||||||
options='{
|
options='{
|
||||||
"placeholder": "{{ "invoices.address_and_legal_information" | translate }}",
|
"placeholder": "{{ "app.admin.invoices.address_and_legal_information" | translate }}",
|
||||||
"buttons": ["bold", "underline"]
|
"buttons": ["bold", "underline"]
|
||||||
}'
|
}'
|
||||||
ng-blur="legalsEditEnd($event)">
|
ng-blur="legalsEditEnd($event)">
|
||||||
|
@ -20,8 +20,8 @@
|
|||||||
ng-model="plan.type"
|
ng-model="plan.type"
|
||||||
required="required"
|
required="required"
|
||||||
ng-disabled="method == 'PATCH'">
|
ng-disabled="method == 'PATCH'">
|
||||||
<option value="Plan" ng-selected="plan.type == 'Plan'" translate>{{ 'standard' }}</option>
|
<option value="Plan" ng-selected="plan.type == 'Plan'" translate>{{ 'app.shared.plan.standard' }}</option>
|
||||||
<option value="PartnerPlan" ng-selected="plan.type == 'PartnerPlan'" translate>{{ 'partner' }}</option>
|
<option value="PartnerPlan" ng-selected="plan.type == 'PartnerPlan'" translate>{{ 'app.shared.plan.partner' }}</option>
|
||||||
</select>
|
</select>
|
||||||
<span class="help-block error" ng-show="planForm['plan[type]'].$dirty && planForm['plan[type]'].$error.required" translate>{{ 'app.shared.plan.type_is_required' }}</span>
|
<span class="help-block error" ng-show="planForm['plan[type]'].$dirty && planForm['plan[type]'].$error.required" translate>{{ 'app.shared.plan.type_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
<ng-include src="'<%= asset_path "admin/plans/_form.html" %>'"></ng-include>
|
<ng-include src="'<%= asset_path "admin/plans/_form.html" %>'"></ng-include>
|
||||||
|
|
||||||
<div class="input-group m-t-md">
|
<div class="input-group m-t-md">
|
||||||
<label for="plan[disabled]" class="control-label m-r-md">{{ 'plan_form.disabled' | translate }}</label>
|
<label for="plan[disabled]" class="control-label m-r-md">{{ 'app.shared.plans.disabled' | translate }}</label>
|
||||||
<input bs-switch
|
<input bs-switch
|
||||||
ng-model="plan.disabled"
|
ng-model="plan.disabled"
|
||||||
id="plan[disabled]"
|
id="plan[disabled]"
|
||||||
@ -43,7 +43,7 @@
|
|||||||
ng-true-value="'true'"
|
ng-true-value="'true'"
|
||||||
ng-false-value="'false'"/>
|
ng-false-value="'false'"/>
|
||||||
<input type="hidden" name="plan[disabled]" value="{{plan.disabled}}"/>
|
<input type="hidden" name="plan[disabled]" value="{{plan.disabled}}"/>
|
||||||
<span class="help-block" translate>{{ 'plan_form.disable_plan_will_not_unsubscribe_users' }}</span>
|
<span class="help-block" translate>{{ 'app.shared.plans.disable_plan_will_not_unsubscribe_users' }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2 class="m-t-xl" translate>{{ 'app.admin.plans.edit.prices' }}</h2>
|
<h2 class="m-t-xl" translate>{{ 'app.admin.plans.edit.prices' }}</h2>
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<h4 translate>{{ 'app.admin.settings.message_of_the_machine_booking_page' }}</h4>
|
<h4 translate>{{ 'app.admin.settings.message_of_the_machine_booking_page' }}</h4>
|
||||||
<div ng-model="machineExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "settings.type_the_message_content" | translate }}",
|
<div ng-model="machineExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "app.admin.settings.type_the_message_content" | translate }}",
|
||||||
"buttons": ["bold", "italic", "unorderedlist", "header2" ]
|
"buttons": ["bold", "italic", "unorderedlist", "header2" ]
|
||||||
}'>
|
}'>
|
||||||
|
|
||||||
@ -62,7 +62,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<h4 translate>{{ 'app.admin.settings.warning_message_of_the_training_booking_page'}}</h4>
|
<h4 translate>{{ 'app.admin.settings.warning_message_of_the_training_booking_page'}}</h4>
|
||||||
<div ng-model="trainingExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "settings.type_the_message_content" | translate }}",
|
<div ng-model="trainingExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "app.admin.settings.type_the_message_content" | translate }}",
|
||||||
"buttons": ["bold", "italic", "unorderedlist", "header2" ]
|
"buttons": ["bold", "italic", "unorderedlist", "header2" ]
|
||||||
}'>
|
}'>
|
||||||
|
|
||||||
@ -71,7 +71,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<h4 translate>{{ 'app.admin.settings.information_message_of_the_training_reservation_page'}}</h4>
|
<h4 translate>{{ 'app.admin.settings.information_message_of_the_training_reservation_page'}}</h4>
|
||||||
<div ng-model="trainingInformationMessage.value" medium-editor options='{"placeholder": "{{ "settings.type_the_message_content" | translate }}",
|
<div ng-model="trainingInformationMessage.value" medium-editor options='{"placeholder": "{{ "app.admin.settings.type_the_message_content" | translate }}",
|
||||||
"buttons": ["bold", "italic", "unorderedlist", "header2" ]
|
"buttons": ["bold", "italic", "unorderedlist", "header2" ]
|
||||||
}'>
|
}'>
|
||||||
|
|
||||||
@ -80,7 +80,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<h4 translate>{{ 'app.admin.settings.message_of_the_subscriptions_page' }}</h4>
|
<h4 translate>{{ 'app.admin.settings.message_of_the_subscriptions_page' }}</h4>
|
||||||
<div ng-model="subscriptionExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "settings.type_the_message_content" | translate }}",
|
<div ng-model="subscriptionExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "app.admin.settings.type_the_message_content" | translate }}",
|
||||||
"buttons": ["bold", "italic", "unorderedlist", "header2" ]
|
"buttons": ["bold", "italic", "unorderedlist", "header2" ]
|
||||||
}'>
|
}'>
|
||||||
</div>
|
</div>
|
||||||
@ -88,7 +88,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<h4 translate>{{ 'app.admin.settings.message_of_the_events_page' }}</h4>
|
<h4 translate>{{ 'app.admin.settings.message_of_the_events_page' }}</h4>
|
||||||
<div ng-model="eventExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "settings.type_the_message_content" | translate }}",
|
<div ng-model="eventExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "app.admin.settings.type_the_message_content" | translate }}",
|
||||||
"buttons": ["bold", "italic", "unorderedlist", "header2" ]
|
"buttons": ["bold", "italic", "unorderedlist", "header2" ]
|
||||||
}'>
|
}'>
|
||||||
</div>
|
</div>
|
||||||
@ -96,7 +96,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-md-3" ng-hide="fablabWithoutSpaces">
|
<div class="col-md-3" ng-hide="fablabWithoutSpaces">
|
||||||
<h4 translate>{{ 'app.admin.settings.message_of_the_spaces_page' }}</h4>
|
<h4 translate>{{ 'app.admin.settings.message_of_the_spaces_page' }}</h4>
|
||||||
<div ng-model="spaceExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "settings.type_the_message_content" | translate }}",
|
<div ng-model="spaceExplicationsAlert.value" medium-editor options='{"placeholder": "{{ "app.admin.settings.type_the_message_content" | translate }}",
|
||||||
"buttons": ["bold", "italic", "unorderedlist", "header2" ]
|
"buttons": ["bold", "italic", "unorderedlist", "header2" ]
|
||||||
}'>
|
}'>
|
||||||
</div>
|
</div>
|
||||||
@ -125,8 +125,8 @@
|
|||||||
<i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename">{{cgvFile.custom_asset_file_attributes.attachment}}</span>
|
<i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename">{{cgvFile.custom_asset_file_attributes.attachment}}</span>
|
||||||
</div>
|
</div>
|
||||||
<span class="input-group-addon btn btn-default btn-file">
|
<span class="input-group-addon btn btn-default btn-file">
|
||||||
<span class="fileinput-new" translate>{{ 'browse' }}</span>
|
<span class="fileinput-new" translate>{{ 'app.shared.buttons.browse' }}</span>
|
||||||
<span class="fileinput-exists" translate>{{ 'change' }}</span>
|
<span class="fileinput-exists" translate>{{ 'app.shared.buttons.change' }}</span>
|
||||||
<input type="file"
|
<input type="file"
|
||||||
id="tnc_file"
|
id="tnc_file"
|
||||||
name="custom_asset[custom_asset_file_attributes][attachment]"
|
name="custom_asset[custom_asset_file_attributes][attachment]"
|
||||||
@ -149,8 +149,8 @@
|
|||||||
<i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename">{{cguFile.custom_asset_file_attributes.attachment}}</span>
|
<i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename">{{cguFile.custom_asset_file_attributes.attachment}}</span>
|
||||||
</div>
|
</div>
|
||||||
<span class="input-group-addon btn btn-default btn-file">
|
<span class="input-group-addon btn btn-default btn-file">
|
||||||
<span class="fileinput-new" translate>{{ 'browse' }}</span>
|
<span class="fileinput-new" translate>{{ 'app.shared.buttons.browse' }}</span>
|
||||||
<span class="fileinput-exists" translate>{{ 'change' }}</span>
|
<span class="fileinput-exists" translate>{{ 'app.shared.buttons.change' }}</span>
|
||||||
<input type="file"
|
<input type="file"
|
||||||
id="tos_file"
|
id="tos_file"
|
||||||
name="custom_asset[custom_asset_file_attributes][attachment]"
|
name="custom_asset[custom_asset_file_attributes][attachment]"
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 class="modal-title" translate>{{ 'expiration_date' }}</h3>
|
<h3 class="modal-title" translate>{{ 'app.admin.members_edit.expiration_date' }}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body m-lg">
|
<div class="modal-body m-lg">
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">
|
||||||
<div ng-show="free">
|
<div ng-show="free">
|
||||||
<p translate>{{ 'you_intentionally_decide_to_extend_the_user_s_subscription_by_offering_him_free_days' }}</p>
|
<p translate>{{ 'app.admin.members_edit.you_intentionally_decide_to_extend_the_user_s_subscription_by_offering_him_free_days' }}</p>
|
||||||
<p translate>{{ 'credits_will_remain_unchanged' }}</p>
|
<p translate>{{ 'app.admin.members_edit.credits_will_remain_unchanged' }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div ng-hide="free">
|
<div ng-hide="free">
|
||||||
<p translate>{{ 'you_intentionally_decide_to_extend_the_user_s_subscription_by_charging_him_again_for_his_current_subscription' }}</p>
|
<p translate>{{ 'app.admin.members_edit.you_intentionally_decide_to_extend_the_user_s_subscription_by_charging_him_again_for_his_current_subscription' }}</p>
|
||||||
<p translate>{{ 'credits_will_be_reset' }}</p>
|
<p translate>{{ 'app.admin.members_edit.credits_will_be_reset' }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form role="form" name="subscriptionForm" novalidate>
|
<form role="form" name="subscriptionForm" novalidate>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label translate>{{ 'until_expiration_date' }}</label>
|
<label translate>{{ 'app.admin.members_edit.until_expiration_date' }}</label>
|
||||||
<input type="text"
|
<input type="text"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
name="subscription[expired_at]"
|
name="subscription[expired_at]"
|
||||||
@ -30,6 +30,6 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button class="btn btn-warning" ng-click="ok()" ng-disabled="subscriptionForm.$invalid" translate>{{ 'confirm' }}</button>
|
<button class="btn btn-warning" ng-click="ok()" ng-disabled="subscriptionForm.$invalid" translate>{{ 'app.shared.buttons.confirm' }}</button>
|
||||||
<button class="btn btn-primary" ng-click="cancel()" translate>{{ 'cancel' }}</button>
|
<button class="btn btn-primary" ng-click="cancel()" translate>{{ 'app.shared.buttons.cancel' }}</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 class="modal-title" translate>{{ 'edition_of_the_description_tooltip' }}</h3>
|
<h3 class="modal-title" translate>{{ 'app.admin.trainings.edition_of_the_description_tooltip' }}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form name="trainingForm" novalidate>
|
<form name="trainingForm" novalidate>
|
||||||
<div class="form-group" ng-class="{'has-error': trainingForm['training[description]'].$dirty && trainingForm['training[description]'].$invalid }">
|
<div class="form-group" ng-class="{'has-error': trainingForm['training[description]'].$dirty && trainingForm['training[description]'].$invalid }">
|
||||||
<textarea name="training[description]" class="form-control" placeholder="{{ 'describe_the_training_in_a_few_words' | translate }}" ng-model="training.description" ng-maxlength="255"></textarea>
|
<textarea name="training[description]" class="form-control" placeholder="{{ 'app.admin.trainings.describe_the_training_in_a_few_words' | translate }}" ng-model="training.description" ng-maxlength="255"></textarea>
|
||||||
<span class="help-block" ng-show="trainingForm['training[description]'].$dirty && trainingForm['training[description]'].$error.maxlength" translate>{{ 'description_is_limited_to_255_characters' }}</span>
|
<span class="help-block" ng-show="trainingForm['training[description]'].$dirty && trainingForm['training[description]'].$error.maxlength" translate>{{ 'app.admin.trainings.description_is_limited_to_255_characters' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button class="btn btn-warning" ng-disabled="trainingForm.$invalid" ng-click="save()" translate>{{ 'save' }}</button>
|
<button class="btn btn-warning" ng-disabled="trainingForm.$invalid" ng-click="save()" translate>{{ 'app.shared.buttons.save' }}</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-md-8 b-l b-r">
|
<div class="col-md-8 b-l b-r">
|
||||||
<section class="heading-title">
|
<section class="heading-title">
|
||||||
<h1 translate>{{ 'trainings_new.add_a_new_training' }}</h1>
|
<h1 translate>{{ 'app.admin.trainings_new.add_a_new_training' }}</h1>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -22,11 +22,11 @@
|
|||||||
<div class="col-md-9 b-r nopadding">
|
<div class="col-md-9 b-r nopadding">
|
||||||
|
|
||||||
<div class="alert alert-warning m-lg" role="alert">
|
<div class="alert alert-warning m-lg" role="alert">
|
||||||
{{ 'trainings_new.beware_when_creating_a_training_its_reservation_prices_are_initialized_to_zero' | translate }}
|
{{ 'app.admin.trainings_new.beware_when_creating_a_training_its_reservation_prices_are_initialized_to_zero' | translate }}
|
||||||
{{ 'trainings_new.dont_forget_to_change_them_before_creating_slots_for_this_training' | translate }}
|
{{ 'app.admin.trainings_new.dont_forget_to_change_them_before_creating_slots_for_this_training' | translate }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ng-include src="'<%= asset_path 'admin/trainings/_form.html' %>'"></ng-include>
|
<ng-include src="'<%= asset_path "admin/trainings/_form.html" %>'"></ng-include>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h3 class="col-md-11 col-sm-11 col-xs-11 text-purple" translate>{{ 'calendar.trainings' }}</h3>
|
<h3 class="col-md-11 col-sm-11 col-xs-11 text-purple" translate>{{ 'app.public.calendar.trainings' }}</h3>
|
||||||
<input class="col-md-1 col-sm-1 col-xs-1" type="checkbox" ng-model="filter.trainings" ng-change="toggleFilter('trainings', filter)">
|
<input class="col-md-1 col-sm-1 col-xs-1" type="checkbox" ng-model="filter.trainings" ng-change="toggleFilter('trainings', filter)">
|
||||||
</div>
|
</div>
|
||||||
<div ng-repeat="t in trainings" class="row">
|
<div ng-repeat="t in trainings" class="row">
|
||||||
@ -10,7 +10,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="m-t">
|
<div class="m-t">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h3 class="col-md-11 col-sm-11 col-xs-11 text-beige" translate>{{ 'calendar.machines' }}</h3>
|
<h3 class="col-md-11 col-sm-11 col-xs-11 text-beige" translate>{{ 'app.public.calendar.machines' }}</h3>
|
||||||
<input class="col-md-1 col-sm-1 col-xs-1" type="checkbox" ng-model="filter.machines" ng-change="toggleFilter('machines', filter)">
|
<input class="col-md-1 col-sm-1 col-xs-1" type="checkbox" ng-model="filter.machines" ng-change="toggleFilter('machines', filter)">
|
||||||
</div>
|
</div>
|
||||||
<div ng-repeat="m in machines" class="row">
|
<div ng-repeat="m in machines" class="row">
|
||||||
@ -20,7 +20,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="m-t" ng-hide="fablabWithoutSpaces">
|
<div class="m-t" ng-hide="fablabWithoutSpaces">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h3 class="col-md-11 col-sm-11 col-xs-11 text-cyan" translate>{{ 'calendar.spaces' }}</h3>
|
<h3 class="col-md-11 col-sm-11 col-xs-11 text-cyan" translate>{{ 'app.public.calendar.spaces' }}</h3>
|
||||||
<input class="col-md-1 col-sm-1 col-xs-1" type="checkbox" ng-model="filter.spaces" ng-change="toggleFilter('spaces', filter)">
|
<input class="col-md-1 col-sm-1 col-xs-1" type="checkbox" ng-model="filter.spaces" ng-change="toggleFilter('spaces', filter)">
|
||||||
</div>
|
</div>
|
||||||
<div ng-repeat="s in spaces" class="row">
|
<div ng-repeat="s in spaces" class="row">
|
||||||
@ -29,16 +29,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="m-t row">
|
<div class="m-t row">
|
||||||
<h3 class="col-md-11 col-sm-11 col-xs-11 text-japonica" translate>{{ 'calendar.events' }}</h3>
|
<h3 class="col-md-11 col-sm-11 col-xs-11 text-japonica" translate>{{ 'app.public.calendar.events' }}</h3>
|
||||||
<input class="col-md-1 col-sm-1 col-xs-1" type="checkbox" ng-model="filter.evt" ng-change="filterAvailabilities(filter)">
|
<input class="col-md-1 col-sm-1 col-xs-1" type="checkbox" ng-model="filter.evt" ng-change="filterAvailabilities(filter)">
|
||||||
</div>
|
</div>
|
||||||
<div class="m-t row">
|
<div class="m-t row">
|
||||||
<h3 class="col-md-11 col-sm-11 col-xs-11 text-black" translate>{{ 'calendar.show_unavailables' }}</h3>
|
<h3 class="col-md-11 col-sm-11 col-xs-11 text-black" translate>{{ 'app.public.calendar.show_unavailables' }}</h3>
|
||||||
<input class="col-md-1 col-sm-1 col-xs-1" type="checkbox" ng-model="filter.dispo" ng-change="filterAvailabilities(filter)">
|
<input class="col-md-1 col-sm-1 col-xs-1" type="checkbox" ng-model="filter.dispo" ng-change="filterAvailabilities(filter)">
|
||||||
</div>
|
</div>
|
||||||
<div class="m-t" ng-hide="externals.length == 0">
|
<div class="m-t" ng-hide="externals.length == 0">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h3 class="col-md-11 col-sm-11 col-xs-11 text-black" translate>{{ 'calendar.externals' }}</h3>
|
<h3 class="col-md-11 col-sm-11 col-xs-11 text-black" translate>{{ 'app.public.calendar.externals' }}</h3>
|
||||||
<input class="col-md-1 col-sm-1 col-xs-1" type="checkbox" ng-model="filter.externals" ng-change="toggleFilter('externals', filter)">
|
<input class="col-md-1 col-sm-1 col-xs-1" type="checkbox" ng-model="filter.externals" ng-change="toggleFilter('externals', filter)">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -23,12 +23,12 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="cta-button">
|
<div class="cta-button">
|
||||||
<button class="btn btn-default rounded" ng-click="selectPlan(plan)" ng-class="{'bg-yellow': selectedPlan.id == plan.id}" translate>{{ 'subscribe_online' }}</button>
|
<button class="btn btn-default rounded" ng-click="selectPlan(plan)" ng-class="{'bg-yellow': selectedPlan.id == plan.id}" translate>{{ 'app.shared.plan_subscribe.subscribe_online' }}</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a class="m-t-lg btn btn-small btn-default pull-right" href="#" ng-click="doNotSubscribePlan($event)">{{ 'do_not_subscribe' | translate }} <i class="fa fa-long-arrow-right"></i></a>
|
<a class="m-t-lg btn btn-small btn-default pull-right" href="#" ng-click="doNotSubscribePlan($event)">{{ 'app.shared.plan_subscribe.do_not_subscribe' | translate }} <i class="fa fa-long-arrow-right"></i></a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<section class="panel panel-default bg-token m-lg">
|
<section class="panel panel-default bg-token m-lg">
|
||||||
<div class="panel-body m-r">
|
<div class="panel-body m-r">
|
||||||
<h3 translate>{{ 'do_you_already_have_an_account' }}</h3>
|
<h3 translate>{{ 'app.logged.profile_completion.do_you_already_have_an_account' }}</h3>
|
||||||
<p ng-hide="hasDuplicate()" translate>{{ 'do_not_fill_the_form_beside_but_specify_here_the_code_you_ve_received_by_email_to_recover_your_access' }}</p>
|
<p ng-hide="hasDuplicate()" translate>{{ 'app.logged.profile_completion.do_not_fill_the_form_beside_but_specify_here_the_code_you_ve_received_by_email_to_recover_your_access' }}</p>
|
||||||
<p ng-show="hasDuplicate()" translate>{{ 'just_specify_code_here_to_recover_access' }}</p>
|
<p ng-show="hasDuplicate()" translate>{{ 'app.logged.profile_completion.just_specify_code_here_to_recover_access' }}</p>
|
||||||
<p class="pull-right"><a href="#" ng-click="resendCode($event)" translate>{{ 'i_did_not_receive_the_code' }}</a></p>
|
<p class="pull-right"><a href="#" ng-click="resendCode($event)" translate>{{ 'app.logged.profile_completion.i_did_not_receive_the_code' }}</a></p>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-3 col-lg-offset-1 hidden-md col-sm-3 col-sm-offset-1"></div>
|
<div class="col-lg-3 col-lg-offset-1 hidden-md col-sm-3 col-sm-offset-1"></div>
|
||||||
<div class="col-lg-offset-1 col-lg-6 col-md-12 col-sm-offset-1 col-sm-6">
|
<div class="col-lg-offset-1 col-lg-6 col-md-12 col-sm-offset-1 col-sm-6">
|
||||||
@ -14,7 +14,7 @@
|
|||||||
ng-model="user.auth_token"
|
ng-model="user.auth_token"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
name="user[auth_token]"
|
name="user[auth_token]"
|
||||||
placeholder="{{ 'authentification_code' | translate }}"/>
|
placeholder="{{ 'app.logged.profile_completion.authentification_code' | translate }}"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -22,9 +22,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-footer no-padder">
|
<div class="panel-footer no-padder">
|
||||||
<input type="button"
|
<input type="button"
|
||||||
value="{{ 'confirm_my_code' | translate }}"
|
value="{{ 'app.logged.profile_completion.confirm_my_code' | translate }}"
|
||||||
class="r-b btn-valid btn btn-warning btn-block p-lg btn-lg text-u-c"
|
class="r-b btn-valid btn btn-warning btn-block p-lg btn-lg text-u-c"
|
||||||
ng-hide="!user.auth_token"
|
ng-hide="!user.auth_token"
|
||||||
ng-click="registerAuthToken()"/>
|
ng-click="registerAuthToken()"/>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-md-8 col-sm-10 b-l">
|
<div class="col-md-8 col-sm-10 b-l">
|
||||||
<section class="heading-title">
|
<section class="heading-title">
|
||||||
<h1 translate>{{ 'confirm_your_new_account' }}</h1>
|
<h1 translate>{{ 'app.logged.profile_completion.confirm_your_new_account' }}</h1>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -25,11 +25,11 @@
|
|||||||
<div class="col-md-offset-2 col-md-8 m-t-md">
|
<div class="col-md-offset-2 col-md-8 m-t-md">
|
||||||
<section class="panel panel-default bg-light m-lg">
|
<section class="panel panel-default bg-light m-lg">
|
||||||
<div class="panel-body m-r">
|
<div class="panel-body m-r">
|
||||||
{{ 'you_ve_just_created_a_new_account_on_the_fablab_by_logging_from' | translate:{ GENDER: nameGenre, NAME: fablabName } }}<br/>
|
{{ 'app.logged.profile_completion.you_ve_just_created_a_new_account_on_the_fablab_by_logging_from' | translate:{ GENDER: nameGenre, NAME: fablabName } }}<br/>
|
||||||
<img class="m-l v-middle" height="16" width="16" src='https://www.google.com/s2/favicons?domain={{activeProvider.domain}}' />
|
<img class="m-l v-middle" height="16" width="16" src='https://www.google.com/s2/favicons?domain={{activeProvider.domain}}' />
|
||||||
<strong class="v-middle">{{activeProvider.name}} <span ng-if="ssoEmail()">({{ssoEmail()}})</span></strong><br/>
|
<strong class="v-middle">{{activeProvider.name}} <span ng-if="ssoEmail()">({{ssoEmail()}})</span></strong><br/>
|
||||||
<p class="m-t-md" ng-hide="hasDuplicate()" translate>{{ 'we_need_some_more_details' }}.</p>
|
<p class="m-t-md" ng-hide="hasDuplicate()" translate>{{ 'app.logged.profile_completion.we_need_some_more_details' }}.</p>
|
||||||
<p class="m-t-md" ng-show="hasDuplicate()" translate>{{ 'your_email_is_already_used_by_another_account_on_the_platform' }}</p>
|
<p class="m-t-md" ng-show="hasDuplicate()" translate>{{ 'app.logged.profile_completion.your_email_is_already_used_by_another_account_on_the_platform' }}</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
@ -37,7 +37,7 @@
|
|||||||
<div class="row col-md-2 col-md-offset-5 hidden-sm hidden-xs" ng-hide="user.merged_at">
|
<div class="row col-md-2 col-md-offset-5 hidden-sm hidden-xs" ng-hide="user.merged_at">
|
||||||
<p class="font-felt fleche-left text-lg upper text-center">
|
<p class="font-felt fleche-left text-lg upper text-center">
|
||||||
<%= image_tag("fleche-left.png", class: 'fleche-left visible-lg visible-md fleche-left-from-top') %>
|
<%= image_tag("fleche-left.png", class: 'fleche-left visible-lg visible-md fleche-left-from-top') %>
|
||||||
<span class="or" translate>{{ 'or' }}</span>
|
<span class="or" translate>{{ 'app.logged.profile_completion.or' }}</span>
|
||||||
<%= image_tag("fleche-left.png", class: 'fleche-right visible-lg visible-md fleche-right-from-top') %>
|
<%= image_tag("fleche-left.png", class: 'fleche-right visible-lg visible-md fleche-right-from-top') %>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@ -46,10 +46,10 @@
|
|||||||
<div class="m-lg panel panel-default bg-light pos-rlt" ng-hide="hasDuplicate()">
|
<div class="m-lg panel panel-default bg-light pos-rlt" ng-hide="hasDuplicate()">
|
||||||
<div ng-class="{'disabling-overlay' : !!user.auth_token}">
|
<div ng-class="{'disabling-overlay' : !!user.auth_token}">
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<h3 translate>{{ 'new_on_this_platform' }}</h3>
|
<h3 translate>{{ 'app.logged.profile_completion.new_on_this_platform' }}</h3>
|
||||||
<p translate>{{ 'please_fill_the_following_form'}}.</p>
|
<p translate>{{ 'app.logged.profile_completion.please_fill_the_following_form'}}.</p>
|
||||||
<p class="text-italic">{{ 'some_data_may_have_already_been_provided_by_provider_and_cannot_be_modified' | translate:{NAME:activeProvider.name} }}.<br/>
|
<p class="text-italic">{{ 'app.logged.profile_completion.some_data_may_have_already_been_provided_by_provider_and_cannot_be_modified' | translate:{NAME:activeProvider.name} }}.<br/>
|
||||||
{{ 'then_click_on_' | translate }} <strong translate>{{ 'confirm_changes' }}</strong> {{ '_to_start_using_the_application' | translate }}.</p>
|
{{ 'app.logged.profile_completion.then_click_on_' | translate }} <strong translate>{{ 'app.shared.buttons.confirm_changes' }}</strong> {{ 'app.logged.profile_completion._to_start_using_the_application' | translate }}.</p>
|
||||||
</div>
|
</div>
|
||||||
<form role="form"
|
<form role="form"
|
||||||
name="userForm"
|
name="userForm"
|
||||||
@ -63,7 +63,7 @@
|
|||||||
|
|
||||||
<div class="panel-body m-r">
|
<div class="panel-body m-r">
|
||||||
<!-- common fields -->
|
<!-- common fields -->
|
||||||
<ng-include src="'<%= asset_path 'shared/_member_form.html' %>'"></ng-include>
|
<ng-include src="'<%= asset_path "shared/_member_form.html" %>'"></ng-include>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-3 col-sm-offset-1"></div>
|
<div class="col-sm-3 col-sm-offset-1"></div>
|
||||||
@ -73,16 +73,16 @@
|
|||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-addon">
|
<span class="input-group-addon">
|
||||||
<i class="fa fa-users"></i>
|
<i class="fa fa-users"></i>
|
||||||
<span class="exponent m-l-xs help-cursor" title="{{ 'used_for_statistics' | translate }}">
|
<span class="exponent m-l-xs help-cursor" title="{{ 'app.logged.profile_completion.used_for_statistics' | translate }}">
|
||||||
<i class="fa fa-asterisk" aria-hidden="true"></i>
|
<i class="fa fa-asterisk" aria-hidden="true"></i>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
<select ng-model="user.group_id" class="form-control" name="user[group_id]" required>
|
<select ng-model="user.group_id" class="form-control" name="user[group_id]" required>
|
||||||
<option value=null translate>{{ 'your_user_s_profile' }}</option>
|
<option value=null translate>{{ 'app.logged.profile_completion.your_user_s_profile' }}</option>
|
||||||
<option ng-repeat="group in groups" ng-value="group.id" ng-selected="group.id == user.group_id">{{group.name}}</option>
|
<option ng-repeat="group in groups" ng-value="group.id" ng-selected="group.id == user.group_id">{{group.name}}</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<span class="help-block" ng-show="userForm['user[group_id]'].$dirty && userForm['user[group_id]'].$error.required" translate>{{ 'user_s_profile_is_required' }}</span>
|
<span class="help-block" ng-show="userForm['user[group_id]'].$dirty && userForm['user[group_id]'].$error.required" translate>{{ 'app.logged.profile_completion.user_s_profile_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- accept cgu -->
|
<!-- accept cgu -->
|
||||||
@ -91,8 +91,8 @@
|
|||||||
name="cgu"
|
name="cgu"
|
||||||
ng-model="user.cgu"
|
ng-model="user.cgu"
|
||||||
value="true"
|
value="true"
|
||||||
ng-required="cgu != null"/> {{ 'i_ve_read_and_i_accept_' | translate }}
|
ng-required="cgu != null"/> {{ 'app.logged.profile_completion.i_ve_read_and_i_accept_' | translate }}
|
||||||
<a href="{{cgu.custom_asset_file_attributes.attachment_url}}" target="_blank" translate>{{ '_the_fablab_policy' }}</a>
|
<a href="{{cgu.custom_asset_file_attributes.attachment_url}}" target="_blank" translate>{{ 'app.logged.profile_completion._the_fablab_policy' }}</a>
|
||||||
<span class="exponent m-l-xs"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
<span class="exponent m-l-xs"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -103,7 +103,7 @@
|
|||||||
|
|
||||||
<div class="panel-footer no-padder">
|
<div class="panel-footer no-padder">
|
||||||
<input type="submit"
|
<input type="submit"
|
||||||
value="{{ 'confirm_changes' | translate }}"
|
value="{{ 'app.shared.buttons.confirm_changes' | translate }}"
|
||||||
class="r-b btn-valid btn btn-warning btn-block p-lg btn-lg text-u-c"
|
class="r-b btn-valid btn btn-warning btn-block p-lg btn-lg text-u-c"
|
||||||
ng-disabled="userForm.$invalid"/>
|
ng-disabled="userForm.$invalid"/>
|
||||||
</div>
|
</div>
|
||||||
@ -114,21 +114,29 @@
|
|||||||
<section class="m-lg panel panel-default bg-light pos-rlt" ng-show="hasDuplicate()">
|
<section class="m-lg panel panel-default bg-light pos-rlt" ng-show="hasDuplicate()">
|
||||||
<div ng-class="{'disabling-overlay' : !!user.auth_token}">
|
<div ng-class="{'disabling-overlay' : !!user.auth_token}">
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<h3 translate>{{ 'new_on_this_platform' }}</h3>
|
<h3 translate>{{ 'app.logged.profile_completion.new_on_this_platform' }}</h3>
|
||||||
<p class="text-italic">
|
<p class="text-italic">
|
||||||
{{ 'your_email_' | translate }} <strong>({{ssoEmail()}})</strong> {{ '_is_currently_associated_with_another_account_on_this_platform' | translate }}
|
{{ 'app.logged.profile_completion.your_email_' | translate }}
|
||||||
{{ 'please_click_to_change_email_associated_with_your_PROVIDER_account' | translate:{PROVDER: activeProvider.name} }}
|
<strong>({{ssoEmail()}})</strong>
|
||||||
|
{{ 'app.logged.profile_completion._is_currently_associated_with_another_account_on_this_platform' | translate }}
|
||||||
|
{{ 'app.logged.profile_completion.please_click_to_change_email_associated_with_your_PROVIDER_account' | translate:{PROVDER: activeProvider.name} }}
|
||||||
</p>
|
</p>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
|
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
|
||||||
<a class="btn btn-default" ng-href="{{activeProvider.link_to_sso_profile}}" target="_blank">
|
<a class="btn btn-default" ng-href="{{activeProvider.link_to_sso_profile}}" target="_blank">
|
||||||
<i class="fa fa-edit"></i> {{ 'change_my_data' | translate }}
|
<i class="fa fa-edit"></i> {{ 'app.logged.profile_completion.change_my_data' | translate }}
|
||||||
</a>
|
</a>
|
||||||
<p class="text-italic">{{ 'once_your_data_are_up_to_date_' | translate }} <strong translate>{{ '_click_on_the_synchronization_button_opposite_' }}</strong> {{ 'or' | translate}} <strong translate>{{ '_disconnect_then_reconnect_' }}</strong> {{ '_for_your_changes_to_take_effect' | translate }}</p>
|
<p class="text-italic">
|
||||||
|
{{ 'app.logged.profile_completion.once_your_data_are_up_to_date_' | translate }}
|
||||||
|
<strong translate>{{ 'app.logged.profile_completion._click_on_the_synchronization_button_opposite_' }}</strong>
|
||||||
|
{{ 'app.logged.profile_completion.or' | translate}}
|
||||||
|
<strong translate>{{ 'app.logged.profile_completion._disconnect_then_reconnect_' }}</strong>
|
||||||
|
{{ 'app.logged.profile_completion._for_your_changes_to_take_effect' | translate }}
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
|
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
|
||||||
<a class="btn btn-default" ng-click="syncProfile()">
|
<a class="btn btn-default" ng-click="syncProfile()">
|
||||||
<i class="fa fa-refresh"></i> {{ 'sync_my_profile' | translate }}
|
<i class="fa fa-refresh"></i> {{ 'app.logged.profile_completion.sync_my_profile' | translate }}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -138,11 +146,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="row col-xs-2 col-xs-offset-5 hidden-md hidden-lg">
|
<div class="row col-xs-2 col-xs-offset-5 hidden-md hidden-lg">
|
||||||
<p class="font-felt fleche-left text-lg upper text-center">
|
<p class="font-felt fleche-left text-lg upper text-center">
|
||||||
<span class="or" translate>{{ 'or' }}</span>
|
<span class="or" translate>{{ 'app.logged.profile_completion.or' }}</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 m-t-3xl-on-md" ng-hide="user.merged_at">
|
<div class="col-md-6 m-t-3xl-on-md" ng-hide="user.merged_at">
|
||||||
<ng-include src="'<%= asset_path 'profile/_token.html' %>'"></ng-include>
|
<ng-include src="'<%= asset_path "profile/_token.html" %>'"></ng-include>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
||||||
<h1 translate>{{ 'send_code_again' }}</h1>
|
<h1 translate>{{ 'app.logged.profile_completion.send_code_again' }}</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
|
|
||||||
<form name="emailForm">
|
<form name="emailForm">
|
||||||
<label for="email" class="beforeAmount" translate>{{ 'email_address_associated_with_your_account' }}</label>
|
<label for="email" class="beforeAmount" translate>{{ 'app.logged.profile_completion.email_address_associated_with_your_account' }}</label>
|
||||||
<div class="input-group" ng-class="{'has-error': emailForm.email.$dirty && emailForm.email.$invalid }">
|
<div class="input-group" ng-class="{'has-error': emailForm.email.$dirty && emailForm.email.$invalid }">
|
||||||
<span class="input-group-addon"><i class="fa fa-envelope"></i> </span>
|
<span class="input-group-addon"><i class="fa fa-envelope"></i> </span>
|
||||||
<input class="form-control"
|
<input class="form-control"
|
||||||
@ -15,12 +15,12 @@
|
|||||||
ng-model="object.email"
|
ng-model="object.email"
|
||||||
required>
|
required>
|
||||||
</div>
|
</div>
|
||||||
<span class="help-block error" ng-show="emailForm['email'].$dirty && emailForm['email'].$error.required" translate>{{'email_is_required'}}</span>
|
<span class="help-block error" ng-show="emailForm['email'].$dirty && emailForm['email'].$error.required" translate>{{'app.logged.profile_completion.email_is_required'}}</span>
|
||||||
<span class="help-block error" ng-show="emailForm['email'].$dirty && emailForm['email'].$error.email" translate>{{'email_format_is_incorrect'}}</span>
|
<span class="help-block error" ng-show="emailForm['email'].$dirty && emailForm['email'].$error.email" translate>{{'app.logged.profile_completion.email_format_is_incorrect'}}</span>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button class="btn btn-info" ng-click="ok(object.email)" ng-disabled="emailForm.$invalid" translate>{{ 'confirm' }}</button>
|
<button class="btn btn-info" ng-click="ok(object.email)" ng-disabled="emailForm.$invalid" translate>{{ 'app.shared.buttons.confirm' }}</button>
|
||||||
<button class="btn btn-default" ng-click="cancel()" translate>{{ 'cancel' }}</button>
|
<button class="btn btn-default" ng-click="cancel()" translate>{{ 'app.shared.buttons.cancel' }}</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
ng-model="admin.statistic_profile_attributes.gender"
|
ng-model="admin.statistic_profile_attributes.gender"
|
||||||
ng-value="true"
|
ng-value="true"
|
||||||
required/>
|
required/>
|
||||||
<i class="fa fa-male m-l-sm"></i> {{ 'man' | translate }}
|
<i class="fa fa-male m-l-sm"></i> {{ 'app.admin.admins_new.man' | translate }}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox-inline btn btn-default">
|
<label class="checkbox-inline btn btn-default">
|
||||||
<input type="radio"
|
<input type="radio"
|
||||||
name="admin[statistic_profile_attributes][gender]"
|
name="admin[statistic_profile_attributes][gender]"
|
||||||
ng-model="admin.statistic_profile_attributes.gender"
|
ng-model="admin.statistic_profile_attributes.gender"
|
||||||
ng-value="false"/>
|
ng-value="false"/>
|
||||||
<i class="fa fa-female m-l-sm"></i> {{ 'woman' | translate }}
|
<i class="fa fa-female m-l-sm"></i> {{ 'app.admin.admins_new.woman' | translate }}
|
||||||
</label>
|
</label>
|
||||||
<span class="exponent m-l-xs help-cursor"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
<span class="exponent m-l-xs help-cursor"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||||
</div>
|
</div>
|
||||||
@ -26,10 +26,10 @@
|
|||||||
type="text" name="admin[username]"
|
type="text" name="admin[username]"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
id="user_username"
|
id="user_username"
|
||||||
placeholder="{{ 'pseudonym' | translate }}"
|
placeholder="{{ 'app.admin.admins_new.pseudonym' | translate }}"
|
||||||
required>
|
required>
|
||||||
</div>
|
</div>
|
||||||
<span class="help-block" ng-show="adminForm['admin[username]'].$dirty && adminForm['admin[username]'].$error.required" translate>{{ 'pseudonym_is_required' }}</span>
|
<span class="help-block" ng-show="adminForm['admin[username]'].$dirty && adminForm['admin[username]'].$error.required" translate>{{ 'app.admin.admins_new.pseudonym_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group" ng-class="{'has-error': adminForm['admin[profile_attributes][last_name]'].$dirty && adminForm['admin[profile_attributes][last_name]'].$invalid}">
|
<div class="form-group" ng-class="{'has-error': adminForm['admin[profile_attributes][last_name]'].$dirty && adminForm['admin[profile_attributes][last_name]'].$invalid}">
|
||||||
@ -40,10 +40,10 @@
|
|||||||
name="admin[profile_attributes][last_name]"
|
name="admin[profile_attributes][last_name]"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
id="user_last_name"
|
id="user_last_name"
|
||||||
placeholder="{{ 'surname' | translate }}"
|
placeholder="{{ 'app.admin.admins_new.surname' | translate }}"
|
||||||
required>
|
required>
|
||||||
</div>
|
</div>
|
||||||
<span class="help-block" ng-show="adminForm['admin[profile_attributes][last_name]'].$dirty && adminForm['admin[profile_attributes][last_name]'].$error.required" translate>{{ 'surname_is_required' }}</span>
|
<span class="help-block" ng-show="adminForm['admin[profile_attributes][last_name]'].$dirty && adminForm['admin[profile_attributes][last_name]'].$error.required" translate>{{ 'app.admin.admins_new.surname_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group" ng-class="{'has-error': adminForm['admin[profile_attributes][first_name]'].$dirty && adminForm['admin[profile_attributes][first_name]'].$invalid}">
|
<div class="form-group" ng-class="{'has-error': adminForm['admin[profile_attributes][first_name]'].$dirty && adminForm['admin[profile_attributes][first_name]'].$invalid}">
|
||||||
@ -54,10 +54,10 @@
|
|||||||
name="admin[profile_attributes][first_name]"
|
name="admin[profile_attributes][first_name]"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
id="user_first_name"
|
id="user_first_name"
|
||||||
placeholder="{{ 'first_name' | translate }}"
|
placeholder="{{ 'app.admin.admins_new.first_name' | translate }}"
|
||||||
required>
|
required>
|
||||||
</div>
|
</div>
|
||||||
<span class="help-block" ng-show="adminForm['admin[profile_attributes][first_name]'].$dirty && adminForm['admin[profile_attributes][first_name]'].$error.required" translate>{{ 'first_name_is_required' }}</span>
|
<span class="help-block" ng-show="adminForm['admin[profile_attributes][first_name]'].$dirty && adminForm['admin[profile_attributes][first_name]'].$error.required" translate>{{ 'app.admin.admins_new.first_name_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group" ng-class="{'has-error': adminForm['admin[email]'].$dirty && adminForm['admin[email]'].$invalid}">
|
<div class="form-group" ng-class="{'has-error': adminForm['admin[email]'].$dirty && adminForm['admin[email]'].$invalid}">
|
||||||
@ -68,10 +68,10 @@
|
|||||||
name="admin[email]"
|
name="admin[email]"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
id="user_email"
|
id="user_email"
|
||||||
placeholder="{{ 'email_address' | translate }}"
|
placeholder="{{ 'app.admin.admins_new.email_address' | translate }}"
|
||||||
required>
|
required>
|
||||||
</div>
|
</div>
|
||||||
<span class="help-block" ng-show="adminForm['admin[email]'].$dirty && adminForm['admin[email]'].$error.required" translate>{{ 'email_is_required' }}</span>
|
<span class="help-block" ng-show="adminForm['admin[email]'].$dirty && adminForm['admin[email]'].$error.required" translate>{{ 'app.admin.admins_new.email_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group" ng-class="{'has-error': adminForm['admin[statistic_profile_attributes][birthday]'].$dirty && adminForm['admin[statistic_profile_attributes][birthday]'].$invalid}">
|
<div class="form-group" ng-class="{'has-error': adminForm['admin[statistic_profile_attributes][birthday]'].$dirty && adminForm['admin[statistic_profile_attributes][birthday]'].$invalid}">
|
||||||
@ -84,7 +84,7 @@
|
|||||||
uib-datepicker-popup="{{datePicker.format}}"
|
uib-datepicker-popup="{{datePicker.format}}"
|
||||||
datepicker-options="datePicker.options"
|
datepicker-options="datePicker.options"
|
||||||
is-open="datePicker.opened"
|
is-open="datePicker.opened"
|
||||||
placeholder="{{ 'birth_date' | translate }}"
|
placeholder="{{ 'app.admin.admins_new.birth_date' | translate }}"
|
||||||
ng-click="openDatePicker($event)"
|
ng-click="openDatePicker($event)"
|
||||||
/>
|
/>
|
||||||
<input type="hidden"
|
<input type="hidden"
|
||||||
@ -104,7 +104,7 @@
|
|||||||
name="admin[invoicing_profile_attributes][address_attributes][address]"
|
name="admin[invoicing_profile_attributes][address_attributes][address]"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
id="user_address"
|
id="user_address"
|
||||||
placeholder="{{ 'address' | translate }}">
|
placeholder="{{ 'app.admin.admins_new.address' | translate }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -115,7 +115,7 @@
|
|||||||
type="text"
|
type="text"
|
||||||
name="admin[profile_attributes][phone]"
|
name="admin[profile_attributes][phone]"
|
||||||
class="form-control" id="user_phone"
|
class="form-control" id="user_phone"
|
||||||
placeholder="{{ 'phone_number' | translate }}">
|
placeholder="{{ 'app.admin.admins_new.phone_number' | translate }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -140,7 +140,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="panel-footer no-padder" ng-if="events.modifiable && events.placable">
|
<div class="panel-footer no-padder" ng-if="events.modifiable && events.placable">
|
||||||
<button class="btn btn-invalid btn-default btn-block p-l btn-lg text-u-c r-n text-base" ng-click="cancelModifySlot()" translate>{{ 'cancel' }}</button>
|
<button class="btn btn-invalid btn-default btn-block p-l btn-lg text-u-c r-n text-base" ng-click="cancelModifySlot()" translate>{{ 'app.shared.buttons.cancel' }}</button>
|
||||||
<div>
|
<div>
|
||||||
<button class="btn btn-valid btn-info btn-block p-l btn-lg text-u-c r-b text-base" ng-click="modifySlot()" translate>{{ 'app.shared.cart.confirm_my_modification' }}</button>
|
<button class="btn btn-valid btn-info btn-block p-l btn-lg text-u-c r-b text-base" ng-click="modifySlot()" translate>{{ 'app.shared.cart.confirm_my_modification' }}</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<div class="form-group m-b-lg" ng-show="show">
|
<div class="form-group m-b-lg" ng-show="show">
|
||||||
<a ng-click="code.input = true" ng-hide="code.input" class="b-b pointer" translate>{{ 'i_have_a_coupon' }}</a>
|
<a ng-click="code.input = true" ng-hide="code.input" class="b-b pointer" translate>{{ 'app.shared.coupon_input.i_have_a_coupon' }}</a>
|
||||||
|
|
||||||
<div ng-show="code.input">
|
<div ng-show="code.input">
|
||||||
<label for="coupon_code" translate>{{ 'code_' }}</label>
|
<label for="coupon_code" translate>{{ 'app.shared.coupon_input.code_' }}</label>
|
||||||
<div class="input-group m-b">
|
<div class="input-group m-b">
|
||||||
<input type="text"
|
<input type="text"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
|
@ -1,35 +1,35 @@
|
|||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 class="modal-title" translate>{{ 'plan_form.new_partner' }}</h3>
|
<h3 class="modal-title" translate>{{ 'app.shared.plan.new_partner' }}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body m-lg">
|
<div class="modal-body m-lg">
|
||||||
<form name="partnerForm">
|
<form name="partnerForm">
|
||||||
<div class="form-group" ng-class="{'has-error': partnerForm['partner[first_name]'].$dirty && partnerForm['partner[first_name]'].$invalid}">
|
<div class="form-group" ng-class="{'has-error': partnerForm['partner[first_name]'].$dirty && partnerForm['partner[first_name]'].$invalid}">
|
||||||
<label for="partner[first_name]" translate>{{ 'first_name' }}</label>
|
<label for="partner[first_name]" translate>{{ 'app.shared.plan.first_name' }}</label>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-addon"><i class="fa fa-user"></i></span>
|
<span class="input-group-addon"><i class="fa fa-user"></i></span>
|
||||||
<input type="text" class="form-control" required="required" ng-model="partner.first_name" id="partner[first_name]" name="partner[first_name]" />
|
<input type="text" class="form-control" required="required" ng-model="partner.first_name" id="partner[first_name]" name="partner[first_name]" />
|
||||||
</div>
|
</div>
|
||||||
<span class="help-block" ng-show="partnerForm['partner[first_name]'].$dirty && partnerForm['partner[first_name]'].$error.required" translate>{{ 'first_name_is_required' }}</span>
|
<span class="help-block" ng-show="partnerForm['partner[first_name]'].$dirty && partnerForm['partner[first_name]'].$error.required" translate>{{ 'app.shared.plan.first_name_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group" ng-class="{'has-error': partnerForm['partner[last_name]'].$dirty && partnerForm['partner[last_name]'].$invalid}">
|
<div class="form-group" ng-class="{'has-error': partnerForm['partner[last_name]'].$dirty && partnerForm['partner[last_name]'].$invalid}">
|
||||||
<label for="partner[last_name]" translate>{{ 'surname' }}</label>
|
<label for="partner[last_name]" translate>{{ 'app.shared.plan.surname' }}</label>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-addon"><i class="fa fa-user"></i></span>
|
<span class="input-group-addon"><i class="fa fa-user"></i></span>
|
||||||
<input type="text" class="form-control" required="required" ng-model="partner.last_name" id="partner[last_name]" name="partner[last_name]" />
|
<input type="text" class="form-control" required="required" ng-model="partner.last_name" id="partner[last_name]" name="partner[last_name]" />
|
||||||
</div>
|
</div>
|
||||||
<span class="help-block" ng-show="partnerForm['partner[last_name]'].$dirty && partnerForm['partner[last_name]'].$error.required" translate>{{ 'surname_is_required' }}</span>
|
<span class="help-block" ng-show="partnerForm['partner[last_name]'].$dirty && partnerForm['partner[last_name]'].$error.required" translate>{{ 'app.shared.plan.surname_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group" ng-class="{'has-error': partnerForm['partner[email]'].$dirty && partnerForm['partner[email]'].$invalid}">
|
<div class="form-group" ng-class="{'has-error': partnerForm['partner[email]'].$dirty && partnerForm['partner[email]'].$invalid}">
|
||||||
<label for="partner[email]" translate>{{ 'email_address' }}</label>
|
<label for="partner[email]" translate>{{ 'app.shared.plan.email_address' }}</label>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-addon"><i class="fa fa-envelope"></i></span>
|
<span class="input-group-addon"><i class="fa fa-envelope"></i></span>
|
||||||
<input type="email" class="form-control" required="required" ng-model="partner.email" id="partner[email]" name="partner[email]" />
|
<input type="email" class="form-control" required="required" ng-model="partner.email" id="partner[email]" name="partner[email]" />
|
||||||
</div>
|
</div>
|
||||||
<span class="help-block" ng-show="partnerForm['partner[email]'].$dirty && partnerForm['partner[email]'].$error.required" translate>{{ 'email_address_is_required' }}</span>
|
<span class="help-block" ng-show="partnerForm['partner[email]'].$dirty && partnerForm['partner[email]'].$error.required" translate>{{ 'app.shared.plan.email_address_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button class="btn btn-primary" ng-click="ok()" ng-disabled="!partnerForm.$valid" translate>{{ 'confirm' }}</button>
|
<button class="btn btn-primary" ng-click="ok()" ng-disabled="!partnerForm.$valid" translate>{{ 'app.shared.buttons.confirm' }}</button>
|
||||||
<button class="btn btn-warning" ng-click="cancel()" translate>{{ 'cancel' }}</button>
|
<button class="btn btn-warning" ng-click="cancel()" translate>{{ 'app.shared.buttons.cancel' }}</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<div ng-if="currentUser.role != 'admin'">
|
<div ng-if="currentUser.role != 'admin'">
|
||||||
<h3 class="m-t-xs" ng-if="walletAmount > 0 && price > 0" ng-bind-html="'you_have_amount_in_wallet' | translate:{ amount: numberFilter(walletAmount, 2), currency: currencySymbol }"></h3>
|
<h3 class="m-t-xs" ng-if="walletAmount > 0 && price > 0" ng-bind-html="'app.shared.wallet.you_have_amount_in_wallet' | translate:{ amount: numberFilter(walletAmount, 2), currency: currencySymbol }"></h3>
|
||||||
<p ng-if="walletAmount > 0 && price > 0 && amount === 0" class="text-italic">{{'wallet_pay_reservation' | translate}}</p>
|
<p ng-if="walletAmount > 0 && price > 0 && amount === 0" class="text-italic">{{'app.shared.wallet.wallet_pay_reservation' | translate}}</p>
|
||||||
<p ng-if="walletAmount > 0 && amount !== 0" class="text-italic" ng-bind-html="'credit_amount_for_pay_reservation' | translate:{ amount: numberFilter(amount, 2), currency: currencySymbol }"></p>
|
<p ng-if="walletAmount > 0 && amount !== 0" class="text-italic" ng-bind-html="'app.shared.stripe.credit_amount_for_pay_reservation' | translate:{ amount: numberFilter(amount, 2), currency: currencySymbol }"></p>
|
||||||
</div>
|
</div>
|
||||||
<div ng-if="currentUser.role == 'admin'">
|
<div ng-if="currentUser.role == 'admin'">
|
||||||
<h3 class="m-t-xs" ng-if="walletAmount > 0 && price > 0" ng-bind-html="'client_have_amount_in_wallet' | translate:{ amount: numberFilter(walletAmount, 2), currency: currencySymbol }"></h3>
|
<h3 class="m-t-xs" ng-if="walletAmount > 0 && price > 0" ng-bind-html="'app.shared.wallet.client_have_amount_in_wallet' | translate:{ amount: numberFilter(walletAmount, 2), currency: currencySymbol }"></h3>
|
||||||
<p ng-if="walletAmount > 0 && price > 0 && amount === 0" class="text-italic">{{'client_wallet_pay_reservation' | translate}}</p>
|
<p ng-if="walletAmount > 0 && price > 0 && amount === 0" class="text-italic">{{'app.shared.wallet.client_wallet_pay_reservation' | translate}}</p>
|
||||||
<p ng-if="walletAmount > 0 && amount !== 0" class="text-italic" ng-bind-html="'client_credit_amount_for_pay_reservation' | translate:{ amount: numberFilter(amount, 2), currency: currencySymbol }"></p>
|
<p ng-if="walletAmount > 0 && amount !== 0" class="text-italic" ng-bind-html="'app.shared.stripe.client_credit_amount_for_pay_reservation' | translate:{ amount: numberFilter(amount, 2), currency: currencySymbol }"></p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -11,18 +11,18 @@
|
|||||||
<div class="col-sm-offset-1 col-md-offset-3 col-sm-7 col-md-5 col-lg-4 m-b-lg">
|
<div class="col-sm-offset-1 col-md-offset-3 col-sm-7 col-md-5 col-lg-4 m-b-lg">
|
||||||
<span ng-bind-html="aboutBody.value"></span>
|
<span ng-bind-html="aboutBody.value"></span>
|
||||||
<p ng-show="cgu">
|
<p ng-show="cgu">
|
||||||
<a href="{{cgu.custom_asset_file_attributes.attachment_url}}" target="_blank" translate>{{ 'about.read_the_fablab_policy' }}</a>
|
<a href="{{cgu.custom_asset_file_attributes.attachment_url}}" target="_blank" translate>{{ 'app.public.about.read_the_fablab_policy' }}</a>
|
||||||
</p>
|
</p>
|
||||||
<p ng-show="cgv">
|
<p ng-show="cgv">
|
||||||
<a href="{{cgv.custom_asset_file_attributes.attachment_url}}" target="_blank" translate>{{ 'about.read_the_fablab_s_general_terms_and_conditions' }}</a>
|
<a href="{{cgv.custom_asset_file_attributes.attachment_url}}" target="_blank" translate>{{ 'app.public.about.read_the_fablab_s_general_terms_and_conditions' }}</a>
|
||||||
</p>
|
</p>
|
||||||
<p ng-show="privacyPolicy.value">
|
<p ng-show="privacyPolicy.value">
|
||||||
<a ui-sref="app.public.privacy" translate>{{ 'about.privacy_policy' }}</a>
|
<a ui-sref="app.public.privacy" translate>{{ 'app.public.about.privacy_policy' }}</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-sm-offset-0 col-md-offset-0 col-lg-offset-1 col-sm-4 col-md-4">
|
<div class="col-sm-offset-0 col-md-offset-0 col-lg-offset-1 col-sm-4 col-md-4">
|
||||||
<h2 class="about-title-aside text-u-c" translate>{{ 'about.your_fablab_s_contacts' }}</h2>
|
<h2 class="about-title-aside text-u-c" translate>{{ 'app.public.about.your_fablab_s_contacts' }}</h2>
|
||||||
<span ng-bind-html="aboutContacts.value"></span>
|
<span ng-bind-html="aboutContacts.value"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
||||||
<h1 translate>{{ 'change_the_slot' }}</h1>
|
<h1 translate>{{ 'app.shared.confirm_modify_slot_modal.change_the_slot' }}</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p ng-show="currentUser.role != 'admin'" translate>{{ 'do_you_want_to_change_your_booking_slot_initially_planned_at' }} </p>
|
<p ng-show="currentUser.role != 'admin'" translate>{{ 'app.shared.confirm_modify_slot_modal.do_you_want_to_change_your_booking_slot_initially_planned_at' }} </p>
|
||||||
<p ng-show="currentUser.role == 'admin'" translate translate-values="{NAME: object.user.name}">{{ 'do_you_want_to_change_NAME_s_booking_slot_initially_planned_at' }}</p>
|
<p ng-show="currentUser.role == 'admin'" translate translate-values="{NAME: object.user.name}">{{ 'app.shared.confirm_modify_slot_modal.do_you_want_to_change_NAME_s_booking_slot_initially_planned_at' }}</p>
|
||||||
<p><strong>{{object.start | amDateFormat: 'LL'}} : {{object.start | amDateFormat:'LT'}} - {{object.end | amDateFormat:'LT'}}</strong></p>
|
<p><strong>{{object.start | amDateFormat: 'LL'}} : {{object.start | amDateFormat:'LT'}} - {{object.end | amDateFormat:'LT'}}</strong></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button class="btn btn-warning" ng-class="{'m-b':object.cancelable&&object.movable}" ng-click="ok('cancel')" ng-show="object.cancelable" translate>{{ 'cancel_this_reservation' }}</button>
|
<button class="btn btn-warning" ng-class="{'m-b':object.cancelable&&object.movable}" ng-click="ok('cancel')" ng-show="object.cancelable" translate>{{ 'app.shared.confirm_modify_slot_modal.cancel_this_reservation' }}</button>
|
||||||
<button class="btn btn-info" ng-click="ok('move')" ng-show="object.movable" translate>{{ 'i_want_to_change_date' }}</button>
|
<button class="btn btn-info" ng-click="ok('move')" ng-show="object.movable" translate>{{ 'app.shared.confirm_modify_slot_modal.i_want_to_change_date' }}</button>
|
||||||
<button class="btn btn-default" ng-click="cancel()" translate>{{ 'cancel' }}</button>
|
<button class="btn btn-default" ng-click="cancel()" translate>{{ 'app.shared.buttons.cancel' }}</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<div class="cookies-consent" ng-hide="cookiesState">
|
<div class="cookies-consent" ng-hide="cookiesState">
|
||||||
<p class="cookies-infos">
|
<p class="cookies-infos">
|
||||||
<span translate>{{ 'cookies.about_cookies' }}</span>
|
<span translate>{{ 'app.public.common.cookies.about_cookies' }}</span>
|
||||||
<a ng-href="{{learnMoreUrl}}" target="{{ learnMoreUrl.startsWith('http') ? '_blank' : '_self' }}" translate>{{ 'cookies.learn_more' }}</a>
|
<a ng-href="{{learnMoreUrl}}" target="{{ learnMoreUrl.startsWith('http') ? '_blank' : '_self' }}" translate>{{ 'app.public.common.cookies.learn_more' }}</a>
|
||||||
</p>
|
</p>
|
||||||
<div class="cookies-actions">
|
<div class="cookies-actions">
|
||||||
<button class="decline" ng-click="declineCookies()" translate>{{ 'cookies.decline' }}</button>
|
<button class="decline" ng-click="declineCookies()" translate>{{ 'app.public.common.cookies.decline' }}</button>
|
||||||
<button class="accept" ng-click="acceptCookies()" translate>{{ 'cookies.accept' }}</button>
|
<button class="accept" ng-click="acceptCookies()" translate>{{ 'app.public.common.cookies.accept' }}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
||||||
<h1 translate>
|
<h1 translate>
|
||||||
{{ 'connection' }}
|
{{ 'app.public.common.connection' }}
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
@ -24,7 +24,7 @@
|
|||||||
required="required"
|
required="required"
|
||||||
ng-blur="emailError = !!loginForm.email.$error.email"
|
ng-blur="emailError = !!loginForm.email.$error.email"
|
||||||
ng-focus="emailError = false"
|
ng-focus="emailError = false"
|
||||||
placeholder="{{ 'your_email_address' | translate }}" />
|
placeholder="{{ 'app.public.common.your_email_address' | translate }}" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -38,13 +38,13 @@
|
|||||||
class="form-control"
|
class="form-control"
|
||||||
ng-model="user.password"
|
ng-model="user.password"
|
||||||
required="required"
|
required="required"
|
||||||
placeholder="{{ 'your_password' | translate }}"
|
placeholder="{{ 'app.public.common.your_password' | translate }}"
|
||||||
ng-minlength="8"/>
|
ng-minlength="8"/>
|
||||||
</div>
|
</div>
|
||||||
<a href="#" ng-click="openResetPassword($event)" class="text-xs">{{ 'password_forgotten' | translate }}</a>
|
<a href="#" ng-click="openResetPassword($event)" class="text-xs">{{ 'app.public.common.password_forgotten' | translate }}</a>
|
||||||
<div class="alert alert-warning m-t-sm m-b-none text-xs p-sm" ng-show='isCapsLockOn' role="alert">
|
<div class="alert alert-warning m-t-sm m-b-none text-xs p-sm" ng-show='isCapsLockOn' role="alert">
|
||||||
<i class="fa fa-warning"></i>
|
<i class="fa fa-warning"></i>
|
||||||
{{ 'caps_lock_is_on' | translate }}
|
{{ 'app.public.common.caps_lock_is_on' | translate }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -53,13 +53,13 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-footer no-padder">
|
<div class="panel-footer no-padder">
|
||||||
<button class="btn btn-valid btn-warning btn-block p-l btn-lg text-u-c r-b" ng-click="login()" ng-disabled="loginForm.$invalid" translate>{{ 'confirm' }}</button>
|
<button class="btn btn-valid btn-warning btn-block p-l btn-lg text-u-c r-b" ng-click="login()" ng-disabled="loginForm.$invalid" translate>{{ 'app.shared.buttons.confirm' }}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="text-center font-sbold">
|
<p class="text-center font-sbold">
|
||||||
<span translate>{{ 'not_registered_to_the_fablab' }}</span>
|
<span translate>{{ 'app.public.common.not_registered_to_the_fablab' }}</span>
|
||||||
<br/>
|
<br/>
|
||||||
<a href="#" ng-click="openSignup($event)" class="text-u-l" translate>{{ 'create_an_account' }}</a></br>
|
<a href="#" ng-click="openSignup($event)" class="text-u-l" translate>{{ 'app.public.common.create_an_account' }}</a></br>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
||||||
<h1 translate>{{ 'change_your_password' }}</h1>
|
<h1 translate>{{ 'app.public.common.change_your_password' }}</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<uib-alert ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)">{{alert.msg}}</uib-alert>
|
<uib-alert ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)">{{alert.msg}}</uib-alert>
|
||||||
@ -16,12 +16,12 @@
|
|||||||
name="password"
|
name="password"
|
||||||
ng-model="user.password"
|
ng-model="user.password"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="{{ 'your_new_password' | translate }}"
|
placeholder="{{ 'app.public.common.your_new_password' | translate }}"
|
||||||
required
|
required
|
||||||
ng-minlength="8">
|
ng-minlength="8">
|
||||||
</div>
|
</div>
|
||||||
<span class="help-block" ng-show="passwordEditForm.password.$dirty && passwordEditForm.password.$error.required" translate>{{ 'password_is_required' }}</span>
|
<span class="help-block" ng-show="passwordEditForm.password.$dirty && passwordEditForm.password.$error.required" translate>{{ 'app.public.common.password_is_required' }}</span>
|
||||||
<span class="help-block" ng-show="passwordEditForm.password.$dirty && passwordEditForm.password.$error.minlength" translate>{{ 'password_is_too_short' }}</span>
|
<span class="help-block" ng-show="passwordEditForm.password.$dirty && passwordEditForm.password.$error.minlength" translate>{{ 'app.public.common.password_is_too_short' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -33,20 +33,20 @@
|
|||||||
name="password_confirmation"
|
name="password_confirmation"
|
||||||
ng-model="user.password_confirmation"
|
ng-model="user.password_confirmation"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="{{ 'type_your_password_again' | translate }}"
|
placeholder="{{ 'app.public.common.type_your_password_again' | translate }}"
|
||||||
required
|
required
|
||||||
ng-minlength="8"
|
ng-minlength="8"
|
||||||
match="user.password">
|
match="user.password">
|
||||||
</div>
|
</div>
|
||||||
<span class="help-block" ng-show="passwordEditForm.password_confirmation.$dirty && passwordEditForm.password_confirmation.$error.required" translate>{{ 'password_confirmation_is_required' }}</span>
|
<span class="help-block" ng-show="passwordEditForm.password_confirmation.$dirty && passwordEditForm.password_confirmation.$error.required" translate>{{ 'app.public.common.password_confirmation_is_required' }}</span>
|
||||||
<span class="help-block" ng-show="passwordEditForm.password_confirmation.$error.match" translate>{{ 'password_does_not_match_with_confirmation' }}</span>
|
<span class="help-block" ng-show="passwordEditForm.password_confirmation.$error.match" translate>{{ 'app.public.common.password_does_not_match_with_confirmation' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-footer no-padder">
|
<div class="panel-footer no-padder">
|
||||||
<button class="btn btn-valid btn-warning btn-block p-l btn-lg text-u-c r-b" ng-click="changePassword()" ng-disabled="passwordEditForm.$invalid" translate>{{ 'confirm'}}</button>
|
<button class="btn btn-valid btn-warning btn-block p-l btn-lg text-u-c r-b" ng-click="changePassword()" ng-disabled="passwordEditForm.$invalid" translate>{{ 'app.shared.buttons.confirm'}}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
||||||
<h1 translate>{{ 'password_forgotten' }}</h1>
|
<h1 translate>{{ 'app.public.common.password_forgotten' }}</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<uib-alert ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)">{{alert.msg}}</uib-alert>
|
<uib-alert ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)">{{alert.msg}}</uib-alert>
|
||||||
@ -19,7 +19,7 @@
|
|||||||
required="required"
|
required="required"
|
||||||
ng-blur="emailError = !!passwordNewForm.email.$error.email"
|
ng-blur="emailError = !!passwordNewForm.email.$error.email"
|
||||||
ng-focus="emailError = false"
|
ng-focus="emailError = false"
|
||||||
placeholder="{{ 'your_email_address' | translate }}" />
|
placeholder="{{ 'app.public.common.your_email_address' | translate }}" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -27,9 +27,9 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-footer no-padder">
|
<div class="panel-footer no-padder">
|
||||||
<button class="btn btn-valid btn-warning btn-block p-l btn-lg text-u-c r-b" ng-click="sendReset()" ng-disabled="passwordNewForm.$invalid" translate>{{ 'confirm' }}</button>
|
<button class="btn btn-valid btn-warning btn-block p-l btn-lg text-u-c r-b" ng-click="sendReset()" ng-disabled="passwordNewForm.$invalid" translate>{{ 'app.shared.buttons.confirm' }}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div class="row padder">
|
<div class="row padder">
|
||||||
<header class="about-picture">
|
<header class="about-picture">
|
||||||
<div class="col-sm-offset-2 col-md-offset-3 col-sm-10 col-md-8">
|
<div class="col-sm-offset-2 col-md-offset-3 col-sm-10 col-md-8">
|
||||||
<h1 class="about-title text-u-c" translate>{{ 'privacy.title' }}</h1>
|
<h1 class="about-title text-u-c" translate>{{ 'app.public.privacy.title' }}</h1>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
</div>
|
</div>
|
||||||
@ -10,14 +10,14 @@
|
|||||||
<div class="row padder">
|
<div class="row padder">
|
||||||
<div class="col-sm-offset-1 col-md-offset-3 col-sm-7 col-md-5 col-lg-4 m-b-lg">
|
<div class="col-sm-offset-1 col-md-offset-3 col-sm-7 col-md-5 col-lg-4 m-b-lg">
|
||||||
<div class="last-update text-gray">
|
<div class="last-update text-gray">
|
||||||
<span translate>{{ 'privacy.last_update' }}</span>
|
<span translate>{{ 'app.public.privacy.last_update' }}</span>
|
||||||
<span>{{ privacyBody.last_update | amDateFormat:'LL' }}</span>
|
<span>{{ privacyBody.last_update | amDateFormat:'LL' }}</span>
|
||||||
</div>
|
</div>
|
||||||
<span ng-bind-html="privacyBody.value"></span>
|
<span ng-bind-html="privacyBody.value"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-sm-offset-0 col-md-offset-0 col-lg-offset-1 col-sm-4 col-md-4" ng-show="privacyDpo.value">
|
<div class="col-sm-offset-0 col-md-offset-0 col-lg-offset-1 col-sm-4 col-md-4" ng-show="privacyDpo.value">
|
||||||
<h2 class="about-title-aside text-u-c" translate>{{ 'privacy.dpo' }}</h2>
|
<h2 class="about-title-aside text-u-c" translate>{{ 'app.public.privacy.dpo' }}</h2>
|
||||||
<span ng-bind-html="privacyDpo.value"></span>
|
<span ng-bind-html="privacyDpo.value"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -104,7 +104,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<span class="m-l-sm label label-success text-white">{{project.author_id == user.id ? 'author' : 'collaborator' | translate}}</span>
|
<span class="m-l-sm label label-success text-white">{{project.author_id == user.id ? 'author' : 'app.shared.public_profile.collaborator' | translate}}</span>
|
||||||
<span class="badge" ng-if="project.state == 'draft'" translate>{{ 'app.shared.public_profile.rough_draft' }}</span>
|
<span class="badge" ng-if="project.state == 'draft'" translate>{{ 'app.shared.public_profile.rough_draft' }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
||||||
<h1 translate>{{ 'create_your_account' }}</h1>
|
<h1 translate>{{ 'app.public.common.create_your_account' }}</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="">
|
<div class="">
|
||||||
<uib-alert ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)">{{alert.msg}}</uib-alert>
|
<uib-alert ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)">{{alert.msg}}</uib-alert>
|
||||||
@ -14,16 +14,16 @@
|
|||||||
name="gender"
|
name="gender"
|
||||||
ng-model="user.statistic_profile_attributes.gender"
|
ng-model="user.statistic_profile_attributes.gender"
|
||||||
value="true"
|
value="true"
|
||||||
required/> {{ 'man' | translate }}
|
required/> {{ 'app.public.common.man' | translate }}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox-inline">
|
<label class="checkbox-inline">
|
||||||
<input type="radio"
|
<input type="radio"
|
||||||
name="gender"
|
name="gender"
|
||||||
ng-model="user.statistic_profile_attributes.gender"
|
ng-model="user.statistic_profile_attributes.gender"
|
||||||
value="false"/> {{ 'woman' | translate }}
|
value="false"/> {{ 'app.public.common.woman' | translate }}
|
||||||
</label>
|
</label>
|
||||||
<span class="exponent m-l-xs help-cursor" title="{{ 'used_for_statistics' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
<span class="exponent m-l-xs help-cursor" title="{{ 'app.public.common.used_for_statistics' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||||
<span class="help-block" ng-show="signupForm.gender.$dirty && signupForm.gender.$error.required" translate>{{ 'gender_is_required'}}</span>
|
<span class="help-block" ng-show="signupForm.gender.$dirty && signupForm.gender.$error.required" translate>{{ 'app.public.common.gender_is_required'}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -34,10 +34,10 @@
|
|||||||
name="first_name"
|
name="first_name"
|
||||||
ng-model="user.profile_attributes.first_name"
|
ng-model="user.profile_attributes.first_name"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="{{ 'your_first_name' | translate }}"
|
placeholder="{{ 'app.public.common.your_first_name' | translate }}"
|
||||||
required>
|
required>
|
||||||
<span class="exponent m-l-xs help-cursor" title="{{ 'used_for_invoicing' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
<span class="exponent m-l-xs help-cursor" title="{{ 'used_for_invoicing' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||||
<span class="help-block" ng-show="signupForm.first_name.$dirty && signupForm.first_name.$error.required" translate>{{ 'first_name_is_required' }}</span>
|
<span class="help-block" ng-show="signupForm.first_name.$dirty && signupForm.first_name.$error.required" translate>{{ 'app.public.common.first_name_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="m-b visible-xs"></div>
|
<div class="m-b visible-xs"></div>
|
||||||
<div class="col-sm-6" ng-class="{'has-error': signupForm.last_name.$dirty && signupForm.last_name.$invalid}">
|
<div class="col-sm-6" ng-class="{'has-error': signupForm.last_name.$dirty && signupForm.last_name.$invalid}">
|
||||||
@ -45,10 +45,10 @@
|
|||||||
name="last_name"
|
name="last_name"
|
||||||
ng-model="user.profile_attributes.last_name"
|
ng-model="user.profile_attributes.last_name"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="{{ 'your_surname' | translate }}"
|
placeholder="{{ 'app.public.common.your_surname' | translate }}"
|
||||||
required>
|
required>
|
||||||
<span class="exponent m-l-xs help-cursor" title="{{ 'used_for_invoicing' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
<span class="exponent m-l-xs help-cursor" title="{{ 'used_for_invoicing' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||||
<span class="help-block" ng-show="signupForm.last_name.$dirty && signupForm.last_name.$error.required" translate>{{ 'surname_is_required' }}</span>
|
<span class="help-block" ng-show="signupForm.last_name.$dirty && signupForm.last_name.$error.required" translate>{{ 'app.public.common.surname_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -60,11 +60,11 @@
|
|||||||
name="username"
|
name="username"
|
||||||
ng-model="user.username"
|
ng-model="user.username"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="{{ 'your_pseudonym' | translate }}"
|
placeholder="{{ 'app.public.common.your_pseudonym' | translate }}"
|
||||||
required>
|
required>
|
||||||
</div>
|
</div>
|
||||||
<span class="exponent help-cursor" title="{{ 'used_for_profile' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
<span class="exponent help-cursor" title="{{ 'used_for_profile' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||||
<span class="help-block" ng-show="signupForm.username.$dirty && signupForm.username.$error.required" translate>{{ 'pseudonym_is_required' }}</span>
|
<span class="help-block" ng-show="signupForm.username.$dirty && signupForm.username.$error.required" translate>{{ 'app.public.common.pseudonym_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -76,11 +76,11 @@
|
|||||||
name="email"
|
name="email"
|
||||||
ng-model="user.email"
|
ng-model="user.email"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="{{ 'your_email_address' | translate }}"
|
placeholder="{{ 'app.public.common.your_email_address' | translate }}"
|
||||||
required>
|
required>
|
||||||
</div>
|
</div>
|
||||||
<span class="exponent help-cursor" title="{{ 'used_for_invoicing' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
<span class="exponent help-cursor" title="{{ 'app.public.common.used_for_invoicing' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||||
<span class="help-block" ng-show="signupForm.email.$dirty && signupForm.email.$error.required" translate>{{ 'email_is_required' }}</span>
|
<span class="help-block" ng-show="signupForm.email.$dirty && signupForm.email.$error.required" translate>{{ 'app.public.common.email_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -92,13 +92,13 @@
|
|||||||
name="password"
|
name="password"
|
||||||
ng-model="user.password"
|
ng-model="user.password"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="{{ 'your_password' | translate }}"
|
placeholder="{{ 'app.public.common.your_password' | translate }}"
|
||||||
required
|
required
|
||||||
ng-minlength="8">
|
ng-minlength="8">
|
||||||
</div>
|
</div>
|
||||||
<span class="exponent"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
<span class="exponent"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||||
<span class="help-block" ng-show="signupForm.password.$dirty && signupForm.password.$error.required" translate>{{ 'password_is_required' }}</span>
|
<span class="help-block" ng-show="signupForm.password.$dirty && signupForm.password.$error.required" translate>{{ 'app.public.common.password_is_required' }}</span>
|
||||||
<span class="help-block" ng-show="signupForm.password.$dirty && signupForm.password.$error.minlength" translate>{{ 'password_is_too_short' }}</span>
|
<span class="help-block" ng-show="signupForm.password.$dirty && signupForm.password.$error.minlength" translate>{{ 'app.public.common.password_is_too_short' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -110,13 +110,13 @@
|
|||||||
name="password_confirmation"
|
name="password_confirmation"
|
||||||
ng-model="user.password_confirmation"
|
ng-model="user.password_confirmation"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="{{ 'type_your_password_again' | translate }}"
|
placeholder="{{ 'app.public.common.type_your_password_again' | translate }}"
|
||||||
required ng-minlength="8"
|
required ng-minlength="8"
|
||||||
match="user.password">
|
match="user.password">
|
||||||
</div>
|
</div>
|
||||||
<span class="exponent"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
<span class="exponent"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||||
<span class="help-block" ng-show="signupForm.password_confirmation.$dirty && signupForm.password_confirmation.$error.required" translate>{{ 'password_confirmation_is_required' }}</span>
|
<span class="help-block" ng-show="signupForm.password_confirmation.$dirty && signupForm.password_confirmation.$error.required" translate>{{ 'app.public.common.password_confirmation_is_required' }}</span>
|
||||||
<span class="help-block" ng-show="signupForm.password_confirmation.$error.match" translate>{{ 'password_does_not_match_with_confirmation' }}</span>
|
<span class="help-block" ng-show="signupForm.password_confirmation.$error.match" translate>{{ 'app.public.common.password_does_not_match_with_confirmation' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -127,7 +127,7 @@
|
|||||||
id="organization"
|
id="organization"
|
||||||
ng-model="user.organization"
|
ng-model="user.organization"
|
||||||
value="false"/>
|
value="false"/>
|
||||||
<label for="organization" translate>{{ 'i_am_an_organization' }}</label>
|
<label for="organization" translate>{{ 'app.public.common.i_am_an_organization' }}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -139,11 +139,11 @@
|
|||||||
name="organization_name"
|
name="organization_name"
|
||||||
ng-model="user.profile_attributes.organization_attributes.name"
|
ng-model="user.profile_attributes.organization_attributes.name"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="{{ 'name_of_your_organization' | translate }}"
|
placeholder="{{ 'app.public.common.name_of_your_organization' | translate }}"
|
||||||
ng-required="user.organization">
|
ng-required="user.organization">
|
||||||
</div>
|
</div>
|
||||||
<span class="exponent help-cursor" title="{{ 'used_for_invoicing' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
<span class="exponent help-cursor" title="{{ 'app.public.common.used_for_invoicing' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||||
<span class="help-block" ng-show="signupForm.organization_name.$dirty && signupForm.organization_name.$error.required" translate>{{ 'organization_name_is_required' }}</span>
|
<span class="help-block" ng-show="signupForm.organization_name.$dirty && signupForm.organization_name.$error.required" translate>{{ 'app.public.common.organization_name_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -155,11 +155,11 @@
|
|||||||
name="organization_address"
|
name="organization_address"
|
||||||
ng-model="user.profile_attributes.organization_attributes.address_attributes.address"
|
ng-model="user.profile_attributes.organization_attributes.address_attributes.address"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="{{ 'address_of_your_organization' | translate }}"
|
placeholder="{{ 'app.public.common.address_of_your_organization' | translate }}"
|
||||||
ng-required="user.organization">
|
ng-required="user.organization">
|
||||||
</div>
|
</div>
|
||||||
<span class="exponent help-cursor" title="{{ 'used_for_invoicing' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
<span class="exponent help-cursor" title="{{ 'app.public.common.used_for_invoicing' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||||
<span class="help-block" ng-show="signupForm.organization_address.$dirty && signupForm.organization_address.$error.required" translate>{{ 'organization_address_is_required' }}</span>
|
<span class="help-block" ng-show="signupForm.organization_address.$dirty && signupForm.organization_address.$error.required" translate>{{ 'app.public.common.organization_address_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -167,11 +167,11 @@
|
|||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<div>
|
<div>
|
||||||
<select ng-model="user.group_id" class="form-control" name="group_id" ng-options="g.id as g.name for g in enabledGroups" required>
|
<select ng-model="user.group_id" class="form-control" name="group_id" ng-options="g.id as g.name for g in enabledGroups" required>
|
||||||
<option value="" translate>{{ 'your_user_s_profile' }}</option>
|
<option value="" translate>{{ 'app.public.common.your_user_s_profile' }}</option>
|
||||||
</select>
|
</select>
|
||||||
<span class="exponent exponent-select help-cursor" title="{{ 'used_for_invoicing' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
<span class="exponent exponent-select help-cursor" title="{{ 'app.public.common.used_for_invoicing' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||||
</div>
|
</div>
|
||||||
<span class="help-block" ng-show="signupForm.group_id.$dirty && signupForm.group_id.$error.required" translate>{{ 'user_s_profile_is_required' }}</span>
|
<span class="help-block" ng-show="signupForm.group_id.$dirty && signupForm.group_id.$error.required" translate>{{ 'app.public.common.user_s_profile_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -186,12 +186,12 @@
|
|||||||
uib-datepicker-popup="{{datePicker.format}}"
|
uib-datepicker-popup="{{datePicker.format}}"
|
||||||
datepicker-options="datePicker.options"
|
datepicker-options="datePicker.options"
|
||||||
is-open="datePicker.opened"
|
is-open="datePicker.opened"
|
||||||
placeholder="{{ 'birth_date' | translate }}"
|
placeholder="{{ 'app.public.common.birth_date' | translate }}"
|
||||||
ng-click="openDatePicker($event)"
|
ng-click="openDatePicker($event)"
|
||||||
required/>
|
required/>
|
||||||
</div>
|
</div>
|
||||||
<span class="exponent help-cursor" title="{{ 'used_for_statistics' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
<span class="exponent help-cursor" title="{{ 'app.public.common.used_for_statistics' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||||
<span class="help-block" ng-show="signupForm.birthday.$dirty && signupForm.birthday.$error.required" translate>{{ 'birth_date_is_required' }}</span>
|
<span class="help-block" ng-show="signupForm.birthday.$dirty && signupForm.birthday.$error.required" translate>{{ 'app.public.common.birth_date_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -203,13 +203,13 @@
|
|||||||
type="text"
|
type="text"
|
||||||
name="phone"
|
name="phone"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="{{ 'phone_number' | translate }}"
|
placeholder="{{ 'app.public.common.phone_number' | translate }}"
|
||||||
ng-required="phoneRequired">
|
ng-required="phoneRequired">
|
||||||
</div>
|
</div>
|
||||||
<span ng-show="phoneRequired" class="exponent help-cursor" title="{{ 'used_for_reservation' | translate }}">
|
<span ng-show="phoneRequired" class="exponent help-cursor" title="{{ 'app.public.common.used_for_reservation' | translate }}">
|
||||||
<i class="fa fa-asterisk" aria-hidden="true"></i>
|
<i class="fa fa-asterisk" aria-hidden="true"></i>
|
||||||
</span>
|
</span>
|
||||||
<span class="help-block" ng-show="signupForm.phone.$dirty && signupForm.phone.$error.required" translate>{{ 'phone_number_is_required' }}</span>
|
<span class="help-block" ng-show="signupForm.phone.$dirty && signupForm.phone.$error.required" translate>{{ 'app.public.common.phone_number_is_required' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -220,7 +220,7 @@
|
|||||||
id="is_allow_contact"
|
id="is_allow_contact"
|
||||||
ng-model="user.is_allow_contact"
|
ng-model="user.is_allow_contact"
|
||||||
value="true"/>
|
value="true"/>
|
||||||
<label for="is_allow_contact" class="help-cursor" title="{{ 'public_profile' | translate }}" translate>{{ 'i_authorize_Fablab_users_registered_on_the_site_to_contact_me' }}</label>
|
<label for="is_allow_contact" class="help-cursor" title="{{ 'app.public.common.public_profile' | translate }}" translate>{{ 'app.public.common.i_authorize_Fablab_users_registered_on_the_site_to_contact_me' }}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -231,7 +231,7 @@
|
|||||||
id="is_allow_newsletter"
|
id="is_allow_newsletter"
|
||||||
ng-model="user.is_allow_newsletter"
|
ng-model="user.is_allow_newsletter"
|
||||||
value="true"/>
|
value="true"/>
|
||||||
<label for="is_allow_newsletter" translate>{{ 'i_accept_to_receive_information_from_the_fablab' }}</label>
|
<label for="is_allow_newsletter" translate>{{ 'app.public.common.i_accept_to_receive_information_from_the_fablab' }}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -244,8 +244,8 @@
|
|||||||
value="true"
|
value="true"
|
||||||
ng-required="cgu != null"/>
|
ng-required="cgu != null"/>
|
||||||
<label for="cgu">
|
<label for="cgu">
|
||||||
<span translate>{{ 'i_ve_read_and_i_accept_' }}</span>
|
<span translate>{{ 'app.public.common.i_ve_read_and_i_accept_' }}</span>
|
||||||
<a href="{{cgu.custom_asset_file_attributes.attachment_url}}" target="_blank" translate>{{ '_the_fablab_policy' }}</a>
|
<a href="{{cgu.custom_asset_file_attributes.attachment_url}}" target="_blank" translate>{{ 'app.public.common._the_fablab_policy' }}</a>
|
||||||
<span class="exponent"><i class="fa fa-asterisk" aria-hidden="true"></i></span></label>
|
<span class="exponent"><i class="fa fa-asterisk" aria-hidden="true"></i></span></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -257,7 +257,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<span class="info-required">
|
<span class="info-required">
|
||||||
<span class="exponent"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
<span class="exponent"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||||
<span translate>{{ 'field_required' }}</span>
|
<span translate>{{ 'app.public.common.field_required' }}</span>
|
||||||
</span>
|
</span>
|
||||||
<div ng-if="!cgu">
|
<div ng-if="!cgu">
|
||||||
<input type="hidden" name="cgu" ng-model="user.cgu" value="true">
|
<input type="hidden" name="cgu" ng-model="user.cgu" value="true">
|
||||||
@ -266,5 +266,5 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer no-padder">
|
<div class="modal-footer no-padder">
|
||||||
<button class="btn btn-valid btn-warning btn-block p-l btn-lg text-u-c r-b" ng-click="ok()" ng-disabled="signupForm.$invalid" translate>{{ 'confirm' }}</button>
|
<button class="btn btn-valid btn-warning btn-block p-l btn-lg text-u-c r-b" ng-click="ok()" ng-disabled="signupForm.$invalid" translate>{{ 'app.shared.buttons.confirm' }}</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
||||||
<h1 translate>{{ 'booking_confirmation' }}</h1>
|
<h1 translate>{{ 'app.shared.valid_reservation_modal.booking_confirmation' }}</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<uib-alert ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)">{{alert.msg}}</uib-alert>
|
<uib-alert ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)">{{alert.msg}}</uib-alert>
|
||||||
<ng-include src="'<%= asset_path 'shared/_wallet_amount_info.html' %>'"></ng-include>
|
<ng-include src="'<%= asset_path "shared/_wallet_amount_info.html" %>'"></ng-include>
|
||||||
|
|
||||||
<p translate>{{ 'here_is_the_summary_of_the_slots_to_book_for_the_current_user' }}</p>
|
<p translate>{{ 'app.shared.valid_reservation_modal.here_is_the_summary_of_the_slots_to_book_for_the_current_user' }}</p>
|
||||||
<ul ng-repeat="slot in reservation.slots_attributes">
|
<ul ng-repeat="slot in reservation.slots_attributes">
|
||||||
<li><strong>{{slot.start_at | amDateFormat: 'LL'}} : {{slot.start_at | amDateFormat:'LT'}} - {{slot.end_at | amDateFormat:'LT'}}</strong></li>
|
<li><strong>{{slot.start_at | amDateFormat: 'LL'}} : {{slot.start_at | amDateFormat:'LT'}} - {{slot.end_at | amDateFormat:'LT'}}</strong></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button class="btn btn-info" ng-click="ok()" ng-disabled="attempting" ng-bind-html="validButtonName"></button>
|
<button class="btn btn-info" ng-click="ok()" ng-disabled="attempting" ng-bind-html="validButtonName"></button>
|
||||||
<button class="btn btn-default" ng-click="cancel()" translate>{{ 'cancel' }}</button>
|
<button class="btn btn-default" ng-click="cancel()" translate>{{ 'app.shared.buttons.cancel' }}</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<div xmlns:stripe="http://www.w3.org/1999/xhtml">
|
<div xmlns:stripe="http://www.w3.org/1999/xhtml">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
|
||||||
<h1 translate>{{ 'online_payment' }}</h1>
|
<h1 translate>{{ 'app.shared.stripe.online_payment' }}</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<uib-alert ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)">{{alert.msg}}</uib-alert>
|
<uib-alert ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)">{{alert.msg}}</uib-alert>
|
||||||
@ -10,8 +10,8 @@
|
|||||||
<form name="stripeForm" stripe:form cart-items="cartItems" on-payment-success="onPaymentSuccess" class="form-horizontal">
|
<form name="stripeForm" stripe:form cart-items="cartItems" on-payment-success="onPaymentSuccess" class="form-horizontal">
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
|
|
||||||
<h3 class="m-t-xs" ng-if="walletAmount" ng-bind-html="'you_have_amount_in_wallet' | translate:{ amount: numberFilter(walletAmount, 2), currency: currencySymbol }"></h3>
|
<h3 class="m-t-xs" ng-if="walletAmount" ng-bind-html="'app.shared.wallet.you_have_amount_in_wallet' | translate:{ amount: numberFilter(walletAmount, 2), currency: currencySymbol }"></h3>
|
||||||
<p ng-if="walletAmount > 0 && amount !== 0" class="text-italic" ng-bind-html="'credit_amount_for_pay_reservation' | translate:{ amount: numberFilter(amount, 2), currency: currencySymbol }"></p>
|
<p ng-if="walletAmount > 0 && amount !== 0" class="text-italic" ng-bind-html="'app.shared.stripe.credit_amount_for_pay_reservation' | translate:{ amount: numberFilter(amount, 2), currency: currencySymbol }"></p>
|
||||||
|
|
||||||
<div id="card-element"></div>
|
<div id="card-element"></div>
|
||||||
<div id="card-errors" role="alert"></div>
|
<div id="card-errors" role="alert"></div>
|
||||||
@ -19,7 +19,9 @@
|
|||||||
<div class="form-group" ng-class="{'has-error': stripeForm.acceptCondition.$dirty && stripeForm.acceptCondition.$invalid}" ng-show="cgv">
|
<div class="form-group" ng-class="{'has-error': stripeForm.acceptCondition.$dirty && stripeForm.acceptCondition.$invalid}" ng-show="cgv">
|
||||||
<div class="col-sm-12 text-sm checkbox-group">
|
<div class="col-sm-12 text-sm checkbox-group">
|
||||||
<input type="checkbox" name="acceptCondition" id="acceptCondition" ng-model="acceptCondition" value="true" ng-required="cgv != null"/>
|
<input type="checkbox" name="acceptCondition" id="acceptCondition" ng-model="acceptCondition" value="true" ng-required="cgv != null"/>
|
||||||
<label for="acceptCondition">{{ 'i_have_read_and_accept_' | translate }} <a href="{{cgv.custom_asset_file_attributes.attachment_url}}" target="_blank" translate>{{ '_the_general_terms_and_conditions' }}</a></label>
|
<label for="acceptCondition">{{ 'app.shared.stripe.i_have_read_and_accept_' | translate }}
|
||||||
|
<a href="{{cgv.custom_asset_file_attributes.attachment_url}}" target="_blank" translate>{{ 'app.shared.stripe._the_general_terms_and_conditions' }}</a>
|
||||||
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div ng-if="!cgv">
|
<div ng-if="!cgv">
|
||||||
<input type="hidden" name="acceptCondition" ng-model="acceptCondition" value="true">
|
<input type="hidden" name="acceptCondition" ng-model="acceptCondition" value="true">
|
||||||
@ -28,7 +30,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-footer no-padder">
|
<div class="panel-footer no-padder">
|
||||||
<button type="submit" class="btn btn-valid btn-info btn-block p-l btn-lg text-u-c r-b text-base" ng-disabled="stripeForm.$invalid || attempting" translate translate-values="{AMOUNT:(amount | currency)}">{{ 'confirm_payment_of_html'}}</button>
|
<button type="submit" class="btn btn-valid btn-info btn-block p-l btn-lg text-u-c r-b text-base" ng-disabled="stripeForm.$invalid || attempting" translate translate-values="{AMOUNT:(amount | currency)}">{{ 'app.shared.stripe.confirm_payment_of_'}}</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
@ -7,8 +7,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-xs-10 col-sm-10 col-md-8 b-l b-r-md">
|
<div class="col-xs-10 col-sm-10 col-md-8 b-l b-r-md">
|
||||||
<section class="heading-title">
|
<section class="heading-title">
|
||||||
<h1 ng-show="mode == 'all'" translate>{{ 'trainings_planning' }}</h1>
|
<h1 ng-show="mode == 'all'" translate>{{ 'app.logged.trainings_reserve.trainings_planning' }}</h1>
|
||||||
<h1 ng-hide="mode == 'all'"><span translate>{{ 'planning_of' }}</span> {{training.name}}</h1>
|
<h1 ng-hide="mode == 'all'"><span translate>{{ 'app.logged.trainings_reserve.planning_of' }}</span> {{training.name}}</h1>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-12 col-md-3 b-t hide-b-md">
|
<div class="col-xs-12 col-sm-12 col-md-3 b-t hide-b-md">
|
||||||
@ -17,7 +17,7 @@
|
|||||||
ui-sref="app.logged.trainings_reserve({id:'all'})"
|
ui-sref="app.logged.trainings_reserve({id:'all'})"
|
||||||
ng-hide="mode == 'all'"
|
ng-hide="mode == 'all'"
|
||||||
role="button"
|
role="button"
|
||||||
translate>{{ 'all_trainings' }}</a>
|
translate>{{ 'app.logged.trainings_reserve.all_trainings' }}</a>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -27,7 +27,7 @@
|
|||||||
<div class="row no-gutter training-reserve">
|
<div class="row no-gutter training-reserve">
|
||||||
<div class="col-sm-12 col-md-12 col-lg-9">
|
<div class="col-sm-12 col-md-12 col-lg-9">
|
||||||
<div ui-calendar="calendarConfig" ng-model="eventSources" calendar="calendar" class="wrapper-lg" ng-show="!plansAreShown"></div>
|
<div ui-calendar="calendarConfig" ng-model="eventSources" calendar="calendar" class="wrapper-lg" ng-show="!plansAreShown"></div>
|
||||||
<ng-include ng-if="!fablabWithoutPlans" src="'<%= asset_path 'plans/_plan.html' %>'"></ng-include>
|
<ng-include ng-if="!fablabWithoutPlans" src="'<%= asset_path "plans/_plan.html" %>'"></ng-include>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -86,6 +86,7 @@ fr:
|
|||||||
edit_event: "Modifier l'évènement"
|
edit_event: "Modifier l'évènement"
|
||||||
view_reservations: "Voir les réservations"
|
view_reservations: "Voir les réservations"
|
||||||
legend: "Légende"
|
legend: "Légende"
|
||||||
|
and: "et"
|
||||||
|
|
||||||
icalendar:
|
icalendar:
|
||||||
icalendar_import: "Import iCalendar"
|
icalendar_import: "Import iCalendar"
|
||||||
@ -147,7 +148,8 @@ fr:
|
|||||||
description_is_limited_to_255_characters: "La description est limitée à 255 caractères."
|
description_is_limited_to_255_characters: "La description est limitée à 255 caractères."
|
||||||
description_was_successfully_saved: "La description a bien été enregistrée."
|
description_was_successfully_saved: "La description a bien été enregistrée."
|
||||||
training_successfully_deleted: "La formation a bien été supprimée."
|
training_successfully_deleted: "La formation a bien été supprimée."
|
||||||
unable_to_delete_the_training_because_some_users_alredy_booked_it: "La formation ne peut pas être supprimée car elle a déjà été réservée par des utilisateurs."
|
unable_to_delete_the_training_because_some_users_already_booked_it: "La formation ne peut pas être supprimée car elle a déjà été réservée par des utilisateurs."
|
||||||
|
confirmation_required: "Confirmation requise"
|
||||||
do_you_really_want_to_delete_this_training: "Êtes-vous sur de vouloir supprimer cette formation ?"
|
do_you_really_want_to_delete_this_training: "Êtes-vous sur de vouloir supprimer cette formation ?"
|
||||||
status_enabled: "Actifs"
|
status_enabled: "Actifs"
|
||||||
status_disabled: "Désactivés"
|
status_disabled: "Désactivés"
|
||||||
@ -155,10 +157,9 @@ fr:
|
|||||||
|
|
||||||
trainings_new:
|
trainings_new:
|
||||||
# créer une nouvelle formation
|
# créer une nouvelle formation
|
||||||
trainings_new:
|
add_a_new_training: "Ajouter une nouvelle formation"
|
||||||
add_a_new_training: "Ajouter une nouvelle formation"
|
beware_when_creating_a_training_its_reservation_prices_are_initialized_to_zero: "Attention, lors de la création d'une formation, ses tarifs de réservation sont initialisés à zero."
|
||||||
beware_when_creating_a_training_its_reservation_prices_are_initialized_to_zero: "Attention, lors de la création d'une formation, ses tarifs de réservation sont initialisés à zero."
|
dont_forget_to_change_them_before_creating_slots_for_this_training: "Pensez à les modifier avant de créer des créneaux pour cette formation."
|
||||||
dont_forget_to_change_them_before_creating_slots_for_this_training: "Pensez à les modifier avant de créer des créneaux pour cette formation."
|
|
||||||
|
|
||||||
events:
|
events:
|
||||||
# gestion et suivi des évènements
|
# gestion et suivi des évènements
|
||||||
@ -590,6 +591,7 @@ fr:
|
|||||||
groups: "Groupes"
|
groups: "Groupes"
|
||||||
tags: "Étiquettes"
|
tags: "Étiquettes"
|
||||||
authentication: "Authentification"
|
authentication: "Authentification"
|
||||||
|
confirmation_required: "Confirmation requise"
|
||||||
confirm_delete_member: "Êtes-vous sûr de vouloir supprimer ce membre ? Cette opération est irréversible."
|
confirm_delete_member: "Êtes-vous sûr de vouloir supprimer ce membre ? Cette opération est irréversible."
|
||||||
member_successfully_deleted: "Le membre a bien été supprimé."
|
member_successfully_deleted: "Le membre a bien été supprimé."
|
||||||
unable_to_delete_the_member: "Le membre n'a pas pu être supprimé."
|
unable_to_delete_the_member: "Le membre n'a pas pu être supprimé."
|
||||||
@ -599,6 +601,7 @@ fr:
|
|||||||
unable_to_delete_the_administrator: "L'administrateur n'a pas pu être supprimé."
|
unable_to_delete_the_administrator: "L'administrateur n'a pas pu être supprimé."
|
||||||
changes_successfully_saved: "Les modifications ont bien été enregistrées."
|
changes_successfully_saved: "Les modifications ont bien été enregistrées."
|
||||||
an_error_occurred_while_saving_changes: "Une erreur est survenue lors de l'enregistrement des modifications."
|
an_error_occurred_while_saving_changes: "Une erreur est survenue lors de l'enregistrement des modifications."
|
||||||
|
export_is_running_you_ll_be_notified_when_its_ready: "L'export est en cours. Vous serez notifié lorsqu'il sera prêt."
|
||||||
tag_form:
|
tag_form:
|
||||||
tags: "Étiquettes"
|
tags: "Étiquettes"
|
||||||
add_a_tag: "Ajouter une étiquette"
|
add_a_tag: "Ajouter une étiquette"
|
||||||
@ -736,6 +739,19 @@ fr:
|
|||||||
add_an_administrator: "Ajouter un administrateur"
|
add_an_administrator: "Ajouter un administrateur"
|
||||||
administrator_successfully_created_he_will_receive_his_connection_directives_by_email: "L'administrateur a bien été créé. {GENDER, select, female{Elle} other{Il}} recevra ses instructions de connexion par email."
|
administrator_successfully_created_he_will_receive_his_connection_directives_by_email: "L'administrateur a bien été créé. {GENDER, select, female{Elle} other{Il}} recevra ses instructions de connexion par email."
|
||||||
failed_to_create_admin: "Impossible de créer l'administrateur :"
|
failed_to_create_admin: "Impossible de créer l'administrateur :"
|
||||||
|
man: "Homme"
|
||||||
|
woman: "Femme"
|
||||||
|
pseudonym: "Pseudonyme"
|
||||||
|
pseudonym_is_required: "Le pseudonyme est requis."
|
||||||
|
first_name: "Votre prénom"
|
||||||
|
first_name_is_required: "Le prénom est requis."
|
||||||
|
surname: "Votre nom"
|
||||||
|
surname_is_required: "Le nom est requis."
|
||||||
|
email_address: "Votre adresse de courriel"
|
||||||
|
email_is_required: "L'adresse de courriel est requise."
|
||||||
|
birth_date: "Date de naissance"
|
||||||
|
address: "Adresse"
|
||||||
|
phone_number: "Numéro de téléphone"
|
||||||
|
|
||||||
authentication_new:
|
authentication_new:
|
||||||
# ajouter un nouveau fournisseur d'authentification (SSO)
|
# ajouter un nouveau fournisseur d'authentification (SSO)
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
fr:
|
fr:
|
||||||
app:
|
app:
|
||||||
logged:
|
logged:
|
||||||
profileCompletion:
|
profile_completion:
|
||||||
# page de complétion du profil utilisateur, à la première connexion depuis un SSO
|
# page de complétion du profil utilisateur, à la première connexion depuis un SSO
|
||||||
confirm_your_new_account: "Confirmez votre nouveau compte"
|
confirm_your_new_account: "Confirmez votre nouveau compte"
|
||||||
you_ve_just_created_a_new_account_on_the_fablab_by_logging_from: "Vous venez de créer un nouveau compte sur {GENDER, select, male{le} female{la} neutral{} other{les}} {NAME}, en vous connectant depuis"
|
you_ve_just_created_a_new_account_on_the_fablab_by_logging_from: "Vous venez de créer un nouveau compte sur {GENDER, select, male{le} female{la} neutral{} other{les}} {NAME}, en vous connectant depuis"
|
||||||
we_need_some_more_details: "Afin de finaliser le paramétrage de la plate-forme, nous avons besoin de quelques renseignements supplémentaires"
|
we_need_some_more_details: "Afin de finaliser le paramétrage de la plate-forme, nous avons besoin de quelques renseignements supplémentaires"
|
||||||
your_email_is_already_used_by_another_account_on_the_platform: "Il semblerait que votre adresse de courriel soit déjà utilisée par un autre utilisateur. Vérifiez votre adresse électronique et veuillez saisir ci-dessous le code qui vient de vous être envoyé."
|
your_email_is_already_used_by_another_account_on_the_platform: "Il semblerait que votre adresse de courriel soit déjà utilisée par un autre utilisateur. Vérifiez votre adresse électronique et veuillez saisir ci-dessous le code qui vient de vous être envoyé."
|
||||||
|
or: "ou"
|
||||||
please_fill_the_following_form: "Merci de compléter le formulaire suivant"
|
please_fill_the_following_form: "Merci de compléter le formulaire suivant"
|
||||||
some_data_may_have_already_been_provided_by_provider_and_cannot_be_modified: "Certaines informations peuvent nous avoir été déjà fournies par {NAME} et ne sont pas modifiables"
|
some_data_may_have_already_been_provided_by_provider_and_cannot_be_modified: "Certaines informations peuvent nous avoir été déjà fournies par {NAME} et ne sont pas modifiables"
|
||||||
then_click_on_: "Cliquez ensuite sur"
|
then_click_on_: "Cliquez ensuite sur"
|
||||||
@ -24,8 +25,20 @@ fr:
|
|||||||
an_unexpected_error_occurred_check_your_authentication_code: "Une erreur inattendue est survenue, vérifiez votre code d'authentification."
|
an_unexpected_error_occurred_check_your_authentication_code: "Une erreur inattendue est survenue, vérifiez votre code d'authentification."
|
||||||
send_code_again: "Renvoyer le code"
|
send_code_again: "Renvoyer le code"
|
||||||
email_address_associated_with_your_account: "Adresse électronique associée à votre compte"
|
email_address_associated_with_your_account: "Adresse électronique associée à votre compte"
|
||||||
|
email_is_required: "L'adresse mail est requise"
|
||||||
email_format_is_incorrect: "Le format de l'adresse email est incorrect"
|
email_format_is_incorrect: "Le format de l'adresse email est incorrect"
|
||||||
code_successfully_sent_again: "Le code a bien été renvoyé"
|
code_successfully_sent_again: "Le code a bien été renvoyé"
|
||||||
|
used_for_statistics: "Cette donnée sera utilisée à des fins statistiques"
|
||||||
|
your_user_s_profile: "Votre profil utilisateur"
|
||||||
|
user_s_profile_is_required: "Le profil utilisateur est requis."
|
||||||
|
i_ve_read_and_i_accept_: "J'ai lu et j'accepte"
|
||||||
|
_the_fablab_policy: "la charte d'utilisation du Fab Lab"
|
||||||
|
change_my_data: "Modifier mes données"
|
||||||
|
sync_my_profile: "Synchroniser mon profil"
|
||||||
|
once_your_data_are_up_to_date_: "Une fois vos données à jour,"
|
||||||
|
_click_on_the_synchronization_button_opposite_: "cliquez sur le bouton de synchronisation ci-contre"
|
||||||
|
_disconnect_then_reconnect_: "déconnectez-vous puis re-connectez vous"
|
||||||
|
_for_your_changes_to_take_effect: "pour que les modifications soient prises en compte."
|
||||||
|
|
||||||
dashboard:
|
dashboard:
|
||||||
# tableau de bord: profile publique
|
# tableau de bord: profile publique
|
||||||
@ -53,6 +66,7 @@ fr:
|
|||||||
edit_my_profile: "Éditer votre profil"
|
edit_my_profile: "Éditer votre profil"
|
||||||
your_group_has_been_successfully_changed: "Votre groupe a bien été changé."
|
your_group_has_been_successfully_changed: "Votre groupe a bien été changé."
|
||||||
an_unexpected_error_prevented_your_group_from_being_changed: "Une erreur inattendue a empêché votre changement de groupe."
|
an_unexpected_error_prevented_your_group_from_being_changed: "Une erreur inattendue a empêché votre changement de groupe."
|
||||||
|
confirmation_required: "Confirmation requise"
|
||||||
confirm_delete_your_account: "Êtes-vous sûr de vouloir supprimer votre compte ?"
|
confirm_delete_your_account: "Êtes-vous sûr de vouloir supprimer votre compte ?"
|
||||||
all_data_will_be_lost: "Toutes vos données seront détruites et ne pourront pas être récupérées."
|
all_data_will_be_lost: "Toutes vos données seront détruites et ne pourront pas être récupérées."
|
||||||
invoicing_data_kept: "Conformément à la réglementation, les données relatives à vos facturations seront conservées de manière séparée pendant 10 ans."
|
invoicing_data_kept: "Conformément à la réglementation, les données relatives à vos facturations seront conservées de manière séparée pendant 10 ans."
|
||||||
@ -156,6 +170,8 @@ fr:
|
|||||||
planning_of: "Planning de la" # suivi du nom de la formation (eg. "Planning de la formation imprimante 3d")
|
planning_of: "Planning de la" # suivi du nom de la formation (eg. "Planning de la formation imprimante 3d")
|
||||||
all_trainings: "Toutes les formations"
|
all_trainings: "Toutes les formations"
|
||||||
cancel_my_selection: "Annuler ma sélection"
|
cancel_my_selection: "Annuler ma sélection"
|
||||||
|
i_change: "Je change"
|
||||||
|
i_shift: "Je déplace"
|
||||||
i_ve_reserved: "J'ai réservé"
|
i_ve_reserved: "J'ai réservé"
|
||||||
|
|
||||||
space_reserve:
|
space_reserve:
|
||||||
|
@ -124,18 +124,16 @@ fr:
|
|||||||
|
|
||||||
about:
|
about:
|
||||||
# page à propos
|
# page à propos
|
||||||
about:
|
read_the_fablab_policy: "Consulter les règles d'utilisation du Fab Lab"
|
||||||
read_the_fablab_policy: "Consulter les règles d'utilisation du Fab Lab"
|
read_the_fablab_s_general_terms_and_conditions: "Consulter les conditions générales de vente du Fab Lab"
|
||||||
read_the_fablab_s_general_terms_and_conditions: "Consulter les conditions générales de vente du Fab Lab"
|
your_fablab_s_contacts: "Vos contacts au Fab Lab"
|
||||||
your_fablab_s_contacts: "Vos contacts au Fab Lab"
|
privacy_policy: "Politique de confidentialité"
|
||||||
privacy_policy: "Politique de confidentialité"
|
|
||||||
|
|
||||||
privacy:
|
privacy:
|
||||||
# page 'politique de confidentialité'
|
# page 'politique de confidentialité'
|
||||||
privacy:
|
title: "Politique de confidentialité"
|
||||||
title: "Politique de confidentialité"
|
dpo: "Délégué à la protection des données"
|
||||||
dpo: "Délégué à la protection des données"
|
last_update: "Dernière mise à jour,"
|
||||||
last_update: "Dernière mise à jour,"
|
|
||||||
|
|
||||||
home:
|
home:
|
||||||
# page d'accueil
|
# page d'accueil
|
||||||
@ -239,6 +237,7 @@ fr:
|
|||||||
book_this_training: "Réserver cette formation"
|
book_this_training: "Réserver cette formation"
|
||||||
do_you_really_want_to_delete_this_training: "Êtes-vous sur de vouloir supprimer cette formation ?"
|
do_you_really_want_to_delete_this_training: "Êtes-vous sur de vouloir supprimer cette formation ?"
|
||||||
unauthorized_operation: "Opération non autorisée"
|
unauthorized_operation: "Opération non autorisée"
|
||||||
|
confirmation_required: "Confirmation requise"
|
||||||
the_training_cant_be_deleted_because_it_is_already_reserved_by_some_users: "La formation ne peut pas être supprimée car elle a déjà été réservée par des utilisateurs."
|
the_training_cant_be_deleted_because_it_is_already_reserved_by_some_users: "La formation ne peut pas être supprimée car elle a déjà été réservée par des utilisateurs."
|
||||||
|
|
||||||
plans:
|
plans:
|
||||||
@ -269,6 +268,7 @@ fr:
|
|||||||
subscription_confirmation: "Validation de l'abonnement"
|
subscription_confirmation: "Validation de l'abonnement"
|
||||||
here_is_the_NAME_subscription_summary: "Voici le récapitulatif de l'abonnement de {NAME} :"
|
here_is_the_NAME_subscription_summary: "Voici le récapitulatif de l'abonnement de {NAME} :"
|
||||||
confirm_payment_of_html: "{ROLE, select, admin{Encaisser} other{Payer}} : {AMOUNT}" # (contexte : valider un paiement de 20,00 €)
|
confirm_payment_of_html: "{ROLE, select, admin{Encaisser} other{Payer}} : {AMOUNT}" # (contexte : valider un paiement de 20,00 €)
|
||||||
|
online_payment_disabled: "Le payment par carte bancaire n'est pas disponible. Merci de contacter directement l'accueil du Fablab."
|
||||||
|
|
||||||
events_list:
|
events_list:
|
||||||
# liste des évènements du fablab
|
# liste des évènements du fablab
|
||||||
|
@ -19,38 +19,10 @@ fr:
|
|||||||
"no": "Non"
|
"no": "Non"
|
||||||
apply: "Appliquer"
|
apply: "Appliquer"
|
||||||
|
|
||||||
elements:
|
|
||||||
# traductions variées utilisées à plusieurs reprises dans l'application
|
|
||||||
group: "Groupe"
|
|
||||||
confirmation_required: "Confirmation requise"
|
|
||||||
events: "Évènements"
|
|
||||||
email_address: "Adresse de courriel"
|
|
||||||
pseudonym: "Pseudonyme"
|
|
||||||
all_day: "Toute la journée"
|
|
||||||
total_: "TOTAL :"
|
|
||||||
name: "Nom"
|
|
||||||
step_N: "Étape {INDEX}"
|
|
||||||
online_payment: "Paiement en ligne"
|
|
||||||
type: "Type"
|
|
||||||
partner: "Partenaire"
|
|
||||||
standard: "Standard"
|
|
||||||
year: "Année"
|
|
||||||
or: "ou"
|
|
||||||
and: "et"
|
|
||||||
change_my_data: "Modifier mes données"
|
|
||||||
sync_my_profile: "Synchroniser mon profil"
|
|
||||||
once_your_data_are_up_to_date_: "Une fois vos données à jour,"
|
|
||||||
_click_on_the_synchronization_button_opposite_: "cliquez sur le bouton de synchronisation ci-contre"
|
|
||||||
_disconnect_then_reconnect_: "déconnectez-vous puis re-connectez vous"
|
|
||||||
_for_your_changes_to_take_effect: "pour que les modifications soient prises en compte."
|
|
||||||
all_themes: "Toutes les thématiques"
|
|
||||||
filter: 'Filtre'
|
|
||||||
payment_card_error: "Un problème est survenu avec votre carte bancaire :"
|
|
||||||
unexpected_error_occurred: "Une erreur inattendue est survenue"
|
|
||||||
|
|
||||||
messages:
|
messages:
|
||||||
you_will_lose_any_unsaved_modification_if_you_quit_this_page: "Vous perdrez les modifications non enregistrées si vous quittez cette page"
|
you_will_lose_any_unsaved_modification_if_you_quit_this_page: "Vous perdrez les modifications non enregistrées si vous quittez cette page"
|
||||||
you_will_lose_any_unsaved_modification_if_you_reload_this_page: "Vous perdrez les modifications non enregistrées si vous rechargez cette page"
|
you_will_lose_any_unsaved_modification_if_you_reload_this_page: "Vous perdrez les modifications non enregistrées si vous rechargez cette page"
|
||||||
|
payment_card_error: "Un problème est survenu avec votre carte bancaire :"
|
||||||
|
|
||||||
user:
|
user:
|
||||||
# formulaire d'édition du profil utilisateur
|
# formulaire d'édition du profil utilisateur
|
||||||
@ -151,10 +123,12 @@ fr:
|
|||||||
|
|
||||||
stripe:
|
stripe:
|
||||||
# fenêtre de paiement stripe
|
# fenêtre de paiement stripe
|
||||||
|
online_payment: "Paiement en ligne"
|
||||||
i_have_read_and_accept_: "J'ai bien pris connaissance, et accepte"
|
i_have_read_and_accept_: "J'ai bien pris connaissance, et accepte"
|
||||||
_the_general_terms_and_conditions: "les conditions générales de vente."
|
_the_general_terms_and_conditions: "les conditions générales de vente."
|
||||||
credit_amount_for_pay_reservation: "Il vous reste {amount} {currency} à payer pour valider votre réservation"
|
credit_amount_for_pay_reservation: "Il vous reste {amount} {currency} à payer pour valider votre réservation"
|
||||||
client_credit_amount_for_pay_reservation: "Il reste {amount} {currency} à payer pour valider la réservation"
|
client_credit_amount_for_pay_reservation: "Il reste {amount} {currency} à payer pour valider la réservation"
|
||||||
|
confirm_payment_of_: "Payer : {AMOUNT}"
|
||||||
|
|
||||||
valid_reservation_modal:
|
valid_reservation_modal:
|
||||||
# fenêtre de paiement sur place d'une réservation
|
# fenêtre de paiement sur place d'une réservation
|
||||||
@ -194,6 +168,8 @@ fr:
|
|||||||
name_is_required: "Le nom est requis"
|
name_is_required: "Le nom est requis"
|
||||||
name_length_must_be_less_than_24_characters: "Le nom doit faire moins de 24 caractères."
|
name_length_must_be_less_than_24_characters: "Le nom doit faire moins de 24 caractères."
|
||||||
type: "Type"
|
type: "Type"
|
||||||
|
partner: "Partenaire"
|
||||||
|
standard: "Standard"
|
||||||
type_is_required: "Le type est requis."
|
type_is_required: "Le type est requis."
|
||||||
group: "Groupe"
|
group: "Groupe"
|
||||||
transversal_all_groups: "Transversal (tout les groupes)"
|
transversal_all_groups: "Transversal (tout les groupes)"
|
||||||
@ -219,6 +195,11 @@ fr:
|
|||||||
new_user: "Nouvel utilisateur ..."
|
new_user: "Nouvel utilisateur ..."
|
||||||
as_part_of_a_partner_subscription_some_notifications_may_be_sent_to_this_user: "Dans le cadre d'un abonnement partenaire, certaines notifications pourront être adressées à cet utilisateur."
|
as_part_of_a_partner_subscription_some_notifications_may_be_sent_to_this_user: "Dans le cadre d'un abonnement partenaire, certaines notifications pourront être adressées à cet utilisateur."
|
||||||
new_partner: "Nouveau partenaire"
|
new_partner: "Nouveau partenaire"
|
||||||
|
first_name: "Prénom"
|
||||||
|
first_name_is_required: "Le prénom est requis"
|
||||||
|
surname: "Nom"
|
||||||
|
surname_is_required: "le nom est requis"
|
||||||
|
email_address: "Adresse de courriel"
|
||||||
email_address_is_required: "L'adresse e-mail est requise."
|
email_address_is_required: "L'adresse e-mail est requise."
|
||||||
disabled: "Désactiver l'abonnement"
|
disabled: "Désactiver l'abonnement"
|
||||||
disable_plan_will_not_unsubscribe_users: "Attention : désactiver l'abonnement ne désabonnera pas les utilisateurs ayant actuellement cet abonnement actif."
|
disable_plan_will_not_unsubscribe_users: "Attention : désactiver l'abonnement ne désabonnera pas les utilisateurs ayant actuellement cet abonnement actif."
|
||||||
|
Loading…
x
Reference in New Issue
Block a user