mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2025-01-22 11:52:21 +01:00
(merge) merge dev
This commit is contained in:
commit
a6947f61f7
@ -1,8 +1,16 @@
|
||||
# Changelog Fab-manager
|
||||
|
||||
- adds reservation context feature (for machine, training, space)
|
||||
- Fix a bug: event reserved places compute error
|
||||
- [TODO DEPLOY] `rails fablab:es:build_stats`
|
||||
- [TODO DEPLOY] `rails fablab:maintenance:regenerate_statistics[2014,1]`
|
||||
- [TODO DEPLOY] `rails fablab:setup:build_places_cache`
|
||||
|
||||
## v6.0.11 2023 July 21
|
||||
|
||||
- Fix a bug: incorrect date range in statistics
|
||||
- Fix a bug: hide project categories filter if there is no project categories
|
||||
- Improvement : dialog confirm to remove a project category
|
||||
|
||||
## v6.0.10 2023 July 13
|
||||
|
||||
|
@ -7,13 +7,14 @@ import { useTranslation } from 'react-i18next';
|
||||
interface GenderInputProps<TFieldValues> {
|
||||
register: UseFormRegister<TFieldValues>,
|
||||
disabled?: boolean|((id: string) => boolean),
|
||||
required?: boolean
|
||||
required?: boolean,
|
||||
tooltip?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* Input component to set the gender for the user
|
||||
*/
|
||||
export const GenderInput = <TFieldValues extends FieldValues>({ register, disabled = false, required }: GenderInputProps<TFieldValues>) => {
|
||||
export const GenderInput = <TFieldValues extends FieldValues>({ register, disabled = false, required, tooltip }: GenderInputProps<TFieldValues>) => {
|
||||
const { t } = useTranslation('shared');
|
||||
|
||||
const [isDisabled, setIsDisabled] = useState<boolean>(false);
|
||||
@ -46,6 +47,10 @@ export const GenderInput = <TFieldValues extends FieldValues>({ register, disabl
|
||||
disabled={isDisabled}
|
||||
{...register('statistic_profile_attributes.gender' as FieldPath<TFieldValues>)} />
|
||||
</label>
|
||||
{tooltip && <div className="fab-tooltip">
|
||||
<span className="trigger"><i className="fa fa-question-circle" /></span>
|
||||
<div className="content">{tooltip}</div>
|
||||
</div>}
|
||||
</fieldset>
|
||||
);
|
||||
};
|
||||
|
@ -184,7 +184,7 @@ export const UserProfileForm: React.FC<UserProfileFormProps> = ({ action, size,
|
||||
<div className="fields-group">
|
||||
<div className="personnal-data">
|
||||
<h4>{t('app.shared.user_profile_form.personal_data')}</h4>
|
||||
<GenderInput register={register} disabled={isDisabled} required />
|
||||
<GenderInput register={register} disabled={isDisabled} required tooltip={t('app.shared.user_profile_form.used_for_statistics')} />
|
||||
<div className="names">
|
||||
<FormInput id="profile_attributes.last_name"
|
||||
register={register}
|
||||
@ -352,8 +352,7 @@ export const UserProfileForm: React.FC<UserProfileFormProps> = ({ action, size,
|
||||
<FormSwitch control={control}
|
||||
id="is_allow_newsletter"
|
||||
disabled={isDisabled}
|
||||
label={t('app.shared.user_profile_form.allow_newsletter')}
|
||||
tooltip={t('app.shared.user_profile_form.allow_newsletter_help')} />
|
||||
label={t('app.shared.user_profile_form.allow_newsletter')} />
|
||||
</div>
|
||||
{showGroupInput && <div className="group">
|
||||
<FormSelect options={groups}
|
||||
|
@ -12,8 +12,8 @@
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
Application.Controllers.controller('AdminProjectsController', ['$scope', '$state', 'Component', 'Licence', 'Theme', 'ProjectCategory', 'componentsPromise', 'licencesPromise', 'themesPromise', 'projectCategoriesPromise', '_t', 'Member', 'uiTourService', 'settingsPromise', 'growl',
|
||||
function ($scope, $state, Component, Licence, Theme, ProjectCategory, componentsPromise, licencesPromise, themesPromise, projectCategoriesPromise, _t, Member, uiTourService, settingsPromise, growl) {
|
||||
Application.Controllers.controller('AdminProjectsController', ['$scope', '$state', 'Component', 'Licence', 'Theme', 'ProjectCategory', 'componentsPromise', 'licencesPromise', 'themesPromise', 'projectCategoriesPromise', '_t', 'Member', 'uiTourService', 'settingsPromise', 'growl', 'dialogs',
|
||||
function ($scope, $state, Component, Licence, Theme, ProjectCategory, componentsPromise, licencesPromise, themesPromise, projectCategoriesPromise, _t, Member, uiTourService, settingsPromise, growl, dialogs) {
|
||||
// Materials list (plastic, wood ...)
|
||||
$scope.components = componentsPromise;
|
||||
|
||||
@ -136,8 +136,20 @@ Application.Controllers.controller('AdminProjectsController', ['$scope', '$state
|
||||
* @param index {number} project category index in the $scope.projectCategories array
|
||||
*/
|
||||
$scope.removeProjectCategory = function (index) {
|
||||
ProjectCategory.delete($scope.projectCategories[index]);
|
||||
return $scope.projectCategories.splice(index, 1);
|
||||
return dialogs.confirm({
|
||||
resolve: {
|
||||
object () {
|
||||
return {
|
||||
title: _t('app.admin.project_categories.delete_dialog_title'),
|
||||
msg: _t('app.admin.project_categories.delete_dialog_info')
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
, function () { // cancel confirmed
|
||||
ProjectCategory.delete($scope.projectCategories[index]);
|
||||
$scope.projectCategories.splice(index, 1);
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -506,8 +506,8 @@ Application.Controllers.controller('StatisticsController', ['$scope', '$state',
|
||||
scroll: ES_SCROLL_TIME + 'm',
|
||||
'stat-type': type,
|
||||
'custom-query': custom ? JSON.stringify(Object.assign({ exclude: custom.exclude }, buildElasticCustomCriterion(custom))) : '',
|
||||
'start-date': moment($scope.datePickerStart.selected).format(),
|
||||
'end-date': moment($scope.datePickerEnd.selected).format(),
|
||||
'start-date': moment($scope.datePickerStart.selected).format('YYYY-MM-DD'),
|
||||
'end-date': moment($scope.datePickerEnd.selected).format('YYYY-MM-DD'),
|
||||
body: buildElasticDataQuery(type, custom, $scope.agePicker.start, $scope.agePicker.end, moment($scope.datePickerStart.selected), moment($scope.datePickerEnd.selected), $scope.sorting)
|
||||
}
|
||||
, function (error, response) {
|
||||
@ -541,8 +541,8 @@ Application.Controllers.controller('StatisticsController', ['$scope', '$state',
|
||||
{
|
||||
range: {
|
||||
date: {
|
||||
gte: intervalBegin.format(),
|
||||
lte: intervalEnd.format()
|
||||
gte: intervalBegin.format('YYYY-MM-DD'),
|
||||
lte: intervalEnd.format('YYYY-MM-DD')
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -780,8 +780,8 @@ Application.Controllers.controller('ExportStatisticsController', ['$scope', '$ui
|
||||
{
|
||||
range: {
|
||||
date: {
|
||||
gte: moment($scope.dates.start).format(),
|
||||
lte: moment($scope.dates.end).format()
|
||||
gte: moment($scope.dates.start).format('YYYY-MM-DD'),
|
||||
lte: moment($scope.dates.end).format('YYYY-MM-DD')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -128,7 +128,7 @@ Application.Controllers.controller('ApplicationController', ['$rootScope', '$sco
|
||||
|
||||
// default user's parameters
|
||||
$scope.user = {
|
||||
is_allow_contact: true,
|
||||
is_allow_contact: false,
|
||||
is_allow_newsletter: false,
|
||||
// reCaptcha response, received from Google (through AJAX) and sent to server for validation
|
||||
recaptcha: undefined,
|
||||
|
@ -1,6 +1,8 @@
|
||||
.fab-tooltip {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
cursor: help;
|
||||
z-index: 10;
|
||||
|
||||
.trigger i { display: block; }
|
||||
.content {
|
||||
|
@ -27,6 +27,7 @@
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
.trainings { max-width: none; }
|
||||
}
|
||||
|
||||
.main-actions {
|
||||
|
@ -10,12 +10,11 @@
|
||||
<tbody>
|
||||
<tr ng-repeat="projectCategory in projectCategories">
|
||||
<td>
|
||||
<span editable-text="projectCategory.name" e-name="name" e-form="rowform" e-required>
|
||||
{{ projectCategory.name }}
|
||||
</span>
|
||||
<span editable-text="projectCategory.name" e-name="name" e-form="rowform" e-required>
|
||||
{{ projectCategory.name }}
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<!-- form -->
|
||||
<form editable-form name="rowform" onbeforesave="saveProjectCategory($data, projectCategory.id)" ng-show="rowform.$visible" class="form-buttons form-inline" shown="inserted == projectCategory">
|
||||
<button type="submit" ng-disabled="rowform.$waiting" class="btn btn-warning">
|
||||
<i class="fa fa-check"></i>
|
||||
|
@ -13,7 +13,7 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="machines"
|
||||
<section class="machines p-h-lg"
|
||||
ui-tour="machines"
|
||||
ui-tour-backdrop="true"
|
||||
ui-tour-template-url="'/shared/tour-step-template.html'"
|
||||
|
@ -61,7 +61,7 @@
|
||||
<option value="" translate>{{ 'app.public.projects_list.all_themes' }}</option>
|
||||
</select>
|
||||
|
||||
<select ng-model="search.project_category_id" ng-change="setUrlQueryParams(search) && triggerSearch()" class="form-control" ng-options="pc.id as pc.name for pc in projectCategories">
|
||||
<select ng-show="projectCategories.length" ng-model="search.project_category_id" ng-change="setUrlQueryParams(search) && triggerSearch()" class="form-control" ng-options="pc.id as pc.name for pc in projectCategories">
|
||||
<option value="" translate>{{ projectCategoriesFilterPlaceholder }}</option>
|
||||
</select>
|
||||
|
||||
|
@ -23,7 +23,11 @@
|
||||
ng-model="user.statistic_profile_attributes.gender"
|
||||
value="false"/> {{ 'app.public.common.woman' | translate }}
|
||||
</label>
|
||||
<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>
|
||||
<div class="fab-tooltip">
|
||||
<span class="trigger"><i class="fa fa-question-circle"></i></span>
|
||||
<div class="content" translate="">{{ 'app.public.common.used_for_statistics' }}</div>
|
||||
</div>
|
||||
<span class="exponent m-l-xs"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||
<span class="help-block" ng-show="signupForm.gender.$dirty && signupForm.gender.$error.required" translate>{{ 'app.public.common.gender_is_required'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -37,7 +41,7 @@
|
||||
class="form-control"
|
||||
placeholder="{{ 'app.public.common.your_first_name' | translate }}"
|
||||
required>
|
||||
<span class="exponent m-l-xs help-cursor" title="{{ 'app.public.common.used_for_invoicing' | translate }}"><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>
|
||||
<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 class="m-b visible-xs"></div>
|
||||
@ -48,7 +52,7 @@
|
||||
class="form-control"
|
||||
placeholder="{{ 'app.public.common.your_surname' | translate }}"
|
||||
required>
|
||||
<span class="exponent m-l-xs help-cursor" title="{{ 'app.public.common.used_for_invoicing' | translate }}"><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>
|
||||
<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>
|
||||
@ -64,7 +68,7 @@
|
||||
placeholder="{{ 'app.public.common.your_pseudonym' | translate }}"
|
||||
required>
|
||||
</div>
|
||||
<span class="exponent help-cursor" title="{{ 'app.public.common.used_for_profile' | translate }}"><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.username.$dirty && signupForm.username.$error.required" translate>{{ 'app.public.common.pseudonym_is_required' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -81,7 +85,7 @@
|
||||
placeholder="{{ 'app.public.common.your_email_address' | translate }}"
|
||||
required>
|
||||
</div>
|
||||
<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="exponent"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||
<span class="help-block" ng-show="signupForm.email.$dirty && signupForm.email.$error.required" translate>{{ 'app.public.common.email_is_required' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -130,6 +134,10 @@
|
||||
ng-model="user.organization"
|
||||
value="false"/>
|
||||
<label for="organization" translate>{{ 'app.public.common.i_am_an_organization' }}</label>
|
||||
<div class="fab-tooltip m-l-xs">
|
||||
<span class="trigger"><i class="fa fa-question-circle"></i></span>
|
||||
<div class="content" translate="">{{ 'app.shared.user_profile_form.declare_organization_help' }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -144,7 +152,7 @@
|
||||
placeholder="{{ 'app.public.common.name_of_your_organization' | translate }}"
|
||||
ng-required="user.organization">
|
||||
</div>
|
||||
<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="exponent"><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>{{ 'app.public.common.organization_name_is_required' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -160,7 +168,7 @@
|
||||
placeholder="{{ 'app.public.common.address_of_your_organization' | translate }}"
|
||||
ng-required="user.organization">
|
||||
</div>
|
||||
<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="exponent"><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>{{ 'app.public.common.organization_address_is_required' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -177,7 +185,7 @@
|
||||
placeholder="{{profileCustomField.label}}"
|
||||
ng-required="profileCustomField.required">
|
||||
</div>
|
||||
<span ng-show="profileCustomField.required" class="exponent help-cursor" title="{{ 'app.public.common.used_for_invoicing' | translate }}"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||
<span ng-show="profileCustomField.required" class="exponent"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||
<span class="help-block" ng-show="signupForm.user_profile_custom_fields{{i}}.$dirty && signupForm.user_profile_custom_fields{{i}}.$error.required" translate translate-values="{FEILD: profileCustomField.label}">{{ 'app.public.common.profile_custom_field_is_required' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -189,7 +197,7 @@
|
||||
<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>{{ 'app.public.common.your_user_s_profile' }}</option>
|
||||
</select>
|
||||
<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>
|
||||
<span class="exponent exponent-select"><i class="fa fa-asterisk" aria-hidden="true"></i></span>
|
||||
</div>
|
||||
<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>
|
||||
@ -216,7 +224,7 @@
|
||||
ng-click="openDatePicker($event)"
|
||||
required/>
|
||||
</div>
|
||||
<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="exponent"><i class="fa fa-asterisk" aria-hidden="true"></i></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>
|
||||
@ -263,8 +271,12 @@
|
||||
name="is_allow_contact"
|
||||
id="is_allow_contact"
|
||||
ng-model="user.is_allow_contact"
|
||||
value="true"/>
|
||||
<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>
|
||||
value="false"/>
|
||||
<label for="is_allow_contact" translate>{{ 'app.public.common.i_authorize_Fablab_users_registered_on_the_site_to_contact_me' }}</label>
|
||||
<div class="fab-tooltip">
|
||||
<span class="trigger"><i class="fa fa-question-circle"></i></span>
|
||||
<div class="content" translate="">{{ 'app.public.common.public_profile' }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -274,7 +286,7 @@
|
||||
name="is_allow_newsletter"
|
||||
id="is_allow_newsletter"
|
||||
ng-model="user.is_allow_newsletter"
|
||||
value="true"/>
|
||||
value="false"/>
|
||||
<label for="is_allow_newsletter" translate>{{ 'app.public.common.i_accept_to_receive_information_from_the_fablab' }}</label>
|
||||
</div>
|
||||
</div>
|
||||
@ -285,7 +297,7 @@
|
||||
name="cgu"
|
||||
id="cgu"
|
||||
ng-model="user.cgu"
|
||||
value="true"
|
||||
value="false"
|
||||
ng-required="cgu != null"/>
|
||||
<label for="cgu">
|
||||
<span translate>{{ 'app.public.common.i_ve_read_and_i_accept_' }}</span>
|
||||
|
@ -32,7 +32,11 @@ class Slots::PlacesCacheService
|
||||
|
||||
reserved_places = (reservations[:reservations].count || 0) + (pending[:reservations].count || 0)
|
||||
if slot.availability.available_type == 'event'
|
||||
reserved_places = slot.availability.event.nb_total_places - slot.availability.event.nb_free_places
|
||||
reserved_places = if slot.availability.event.nb_total_places.nil?
|
||||
0
|
||||
else
|
||||
slot.availability.event.nb_total_places - slot.availability.event.nb_free_places
|
||||
end
|
||||
end
|
||||
places.push({
|
||||
reservable_type: reservable.class.name,
|
||||
|
@ -451,6 +451,8 @@ de:
|
||||
project_categories: Categories
|
||||
project_categories:
|
||||
name: "Name"
|
||||
delete_dialog_title: "Confirmation required"
|
||||
delete_dialog_info: "The associations between this category and the projects will me deleted."
|
||||
projects_setting:
|
||||
add: "Hinzufügen"
|
||||
actions_controls: "Actions"
|
||||
|
@ -459,6 +459,8 @@ en:
|
||||
project_categories: Categories
|
||||
project_categories:
|
||||
name: "Name"
|
||||
delete_dialog_title: "Confirmation required"
|
||||
delete_dialog_info: "The associations between this category and the projects will me deleted."
|
||||
projects_setting:
|
||||
add: "Add"
|
||||
actions_controls: "Actions"
|
||||
|
@ -451,6 +451,8 @@ es:
|
||||
project_categories: Categories
|
||||
project_categories:
|
||||
name: "Name"
|
||||
delete_dialog_title: "Confirmation required"
|
||||
delete_dialog_info: "The associations between this category and the projects will me deleted."
|
||||
projects_setting:
|
||||
add: "Add"
|
||||
actions_controls: "Actions"
|
||||
|
@ -459,6 +459,8 @@ fr:
|
||||
project_categories: Personnalisation du filtre Catégories
|
||||
project_categories:
|
||||
name: "Nom"
|
||||
delete_dialog_title: "Confirmation requise"
|
||||
delete_dialog_info: "Les associations entre cette catégorie et les projets seront supprimées."
|
||||
projects_setting:
|
||||
add: "Ajouter"
|
||||
actions_controls: "Actions"
|
||||
|
@ -451,6 +451,8 @@ it:
|
||||
project_categories: Categories
|
||||
project_categories:
|
||||
name: "Name"
|
||||
delete_dialog_title: "Confirmation required"
|
||||
delete_dialog_info: "The associations between this category and the projects will me deleted."
|
||||
projects_setting:
|
||||
add: "Aggiungi"
|
||||
actions_controls: "Azioni"
|
||||
|
@ -451,6 +451,8 @@
|
||||
project_categories: Categories
|
||||
project_categories:
|
||||
name: "Name"
|
||||
delete_dialog_title: "Confirmation required"
|
||||
delete_dialog_info: "The associations between this category and the projects will me deleted."
|
||||
projects_setting:
|
||||
add: "Add"
|
||||
actions_controls: "Actions"
|
||||
|
@ -451,6 +451,8 @@ pt:
|
||||
project_categories: Categories
|
||||
project_categories:
|
||||
name: "Name"
|
||||
delete_dialog_title: "Confirmation required"
|
||||
delete_dialog_info: "The associations between this category and the projects will me deleted."
|
||||
projects_setting:
|
||||
add: "Add"
|
||||
actions_controls: "Actions"
|
||||
|
@ -451,6 +451,8 @@ zu:
|
||||
project_categories: crwdns37623:0crwdne37623:0
|
||||
project_categories:
|
||||
name: "crwdns37625:0crwdne37625:0"
|
||||
delete_dialog_title: "crwdns37665:0crwdne37665:0"
|
||||
delete_dialog_info: "crwdns37667:0crwdne37667:0"
|
||||
projects_setting:
|
||||
add: "crwdns36895:0crwdne36895:0"
|
||||
actions_controls: "crwdns36897:0crwdne36897:0"
|
||||
|
@ -93,7 +93,7 @@ de:
|
||||
phone_number_is_required: "Die Angabe der Telefonnummer ist erforderlich."
|
||||
address: "Adresse"
|
||||
address_is_required: "Adresse ist erforderlich"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "Angemeldete Benutzer dürfen mich kontaktieren"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "I agree to share my email address with registered users of the site"
|
||||
i_accept_to_receive_information_from_the_fablab: "Das Fablab darf mir Informationen schicken"
|
||||
i_ve_read_and_i_accept_: "Ich habe gelesen und akzeptiere"
|
||||
_the_fablab_policy: "the terms of use"
|
||||
|
@ -94,7 +94,7 @@ en:
|
||||
phone_number_is_required: "Phone number is required."
|
||||
address: "Address"
|
||||
address_is_required: "Address is required"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "I authorize users, registered on the site, to contact me"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "I agree to share my email address with registered users of the site"
|
||||
i_accept_to_receive_information_from_the_fablab: "I accept to receive information from the FabLab"
|
||||
i_ve_read_and_i_accept_: "I've read and I accept"
|
||||
_the_fablab_policy: "the terms of use"
|
||||
|
@ -93,7 +93,7 @@ es:
|
||||
phone_number_is_required: "El número de telefono es obligatorio."
|
||||
address: "Dirección"
|
||||
address_is_required: "Address is required"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "Autorizo a los usuarios registrados en el sitio, a contactarme"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "I agree to share my email address with registered users of the site"
|
||||
i_accept_to_receive_information_from_the_fablab: "Acepto recibir información del FabLab"
|
||||
i_ve_read_and_i_accept_: "He leido y acepto"
|
||||
_the_fablab_policy: "the terms of use"
|
||||
|
@ -94,7 +94,7 @@ fr:
|
||||
phone_number_is_required: "Le numéro de téléphone est requis."
|
||||
address: "Adresse"
|
||||
address_is_required: "L'adresse est requise"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "J'autorise les utilisateurs inscrits sur le site à me contacter"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "J'accepte de partager mon adresse courriel avec les utilisateurs enregistrés sur le site"
|
||||
i_accept_to_receive_information_from_the_fablab: "J'accepte de recevoir des informations du Fab Lab"
|
||||
i_ve_read_and_i_accept_: "J'ai lu et j'accepte"
|
||||
_the_fablab_policy: "les conditions d'utilisation"
|
||||
|
@ -93,7 +93,7 @@ it:
|
||||
phone_number_is_required: "Il numero di telefono è obbligatorio."
|
||||
address: "Indirizzo"
|
||||
address_is_required: "L'indirizzo è obbligatorio"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "Autorizzo gli utenti, registrati sul sito, a contattarmi"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "I agree to share my email address with registered users of the site"
|
||||
i_accept_to_receive_information_from_the_fablab: "Autorizzo FabLab all'invio di informative"
|
||||
i_ve_read_and_i_accept_: "Ho letto e accetto"
|
||||
_the_fablab_policy: "le condizioni di utilizzo"
|
||||
|
@ -93,7 +93,7 @@
|
||||
phone_number_is_required: "Telefonnummer er påkrevd."
|
||||
address: "Adresse"
|
||||
address_is_required: "Adresse er påkrevd"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "I authorize users, registered on the site, to contact me"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "I agree to share my email address with registered users of the site"
|
||||
i_accept_to_receive_information_from_the_fablab: "Jeg aksepterer å motta informasjon"
|
||||
i_ve_read_and_i_accept_: "Jeg har lest og aksepterer"
|
||||
_the_fablab_policy: "the terms of use"
|
||||
|
@ -93,7 +93,7 @@ pt:
|
||||
phone_number_is_required: "Número de telefone é obrigatório."
|
||||
address: "Endereço"
|
||||
address_is_required: "O endereço é necessário"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "Eu autorizo usuários, registrados no site, a entrarem em contato comigo"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "I agree to share my email address with registered users of the site"
|
||||
i_accept_to_receive_information_from_the_fablab: "Eu aceito receber informações do FabLab"
|
||||
i_ve_read_and_i_accept_: "Eu li e aceito"
|
||||
_the_fablab_policy: "os termos de uso"
|
||||
|
@ -93,7 +93,7 @@ zu:
|
||||
phone_number_is_required: "crwdns27938:0crwdne27938:0"
|
||||
address: "crwdns27940:0crwdne27940:0"
|
||||
address_is_required: "crwdns27942:0crwdne27942:0"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "crwdns36223:0crwdne36223:0"
|
||||
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "crwdns37669:0crwdne37669:0"
|
||||
i_accept_to_receive_information_from_the_fablab: "crwdns27946:0crwdne27946:0"
|
||||
i_ve_read_and_i_accept_: "crwdns27948:0crwdne27948:0"
|
||||
_the_fablab_policy: "crwdns36225:0crwdne36225:0"
|
||||
|
@ -86,10 +86,9 @@ de:
|
||||
address: "Address"
|
||||
phone_number: "Phone number"
|
||||
phone_number_invalid: "Phone number is invalid."
|
||||
allow_public_profile: "I authorize users, registered on the site, to contact me"
|
||||
allow_public_profile_help: "Your profile will be visible to other users and you'll be able to collaborate on projects."
|
||||
allow_public_profile: "I agree to share my email address with registered users of the site"
|
||||
allow_public_profile_help: "You will have a public profile and other users will be able to associate you in their projects."
|
||||
allow_newsletter: "I accept to receive information from the FabLab"
|
||||
allow_newsletter_help: "You may receive the newsletter."
|
||||
used_for_statistics: "This data will be used for statistical purposes"
|
||||
used_for_invoicing: "This data will be used for billing purposes"
|
||||
used_for_reservation: "This data will be used in case of change on one of your bookings"
|
||||
|
@ -86,10 +86,9 @@ en:
|
||||
address: "Address"
|
||||
phone_number: "Phone number"
|
||||
phone_number_invalid: "Phone number is invalid."
|
||||
allow_public_profile: "I authorize users, registered on the site, to contact me"
|
||||
allow_public_profile_help: "Your profile will be visible to other users and you'll be able to collaborate on projects."
|
||||
allow_public_profile: "I agree to share my email address with registered users of the site"
|
||||
allow_public_profile_help: "You will have a public profile and other users will be able to associate you in their projects."
|
||||
allow_newsletter: "I accept to receive information from the FabLab"
|
||||
allow_newsletter_help: "You may receive the newsletter."
|
||||
used_for_statistics: "This data will be used for statistical purposes"
|
||||
used_for_invoicing: "This data will be used for billing purposes"
|
||||
used_for_reservation: "This data will be used in case of change on one of your bookings"
|
||||
|
@ -86,10 +86,9 @@ es:
|
||||
address: "Address"
|
||||
phone_number: "Phone number"
|
||||
phone_number_invalid: "Phone number is invalid."
|
||||
allow_public_profile: "I authorize users, registered on the site, to contact me"
|
||||
allow_public_profile_help: "Your profile will be visible to other users and you'll be able to collaborate on projects."
|
||||
allow_public_profile: "I agree to share my email address with registered users of the site"
|
||||
allow_public_profile_help: "You will have a public profile and other users will be able to associate you in their projects."
|
||||
allow_newsletter: "I accept to receive information from the FabLab"
|
||||
allow_newsletter_help: "You may receive the newsletter."
|
||||
used_for_statistics: "This data will be used for statistical purposes"
|
||||
used_for_invoicing: "This data will be used for billing purposes"
|
||||
used_for_reservation: "This data will be used in case of change on one of your bookings"
|
||||
|
@ -86,10 +86,9 @@ fr:
|
||||
address: "Adresse"
|
||||
phone_number: "Numéro de téléphone"
|
||||
phone_number_invalid: "Le numéro de téléphone n'est pas valide."
|
||||
allow_public_profile: "J'autorise les utilisateurs inscrits sur le site à me contacter"
|
||||
allow_public_profile_help: "Votre profil sera visible par les autres utilisateurs et vous pourrez collaborer aux projets."
|
||||
allow_public_profile: "J'accepte de partager mon adresse courriel avec les utilisateurs enregistrés sur le site"
|
||||
allow_public_profile_help: "Vous aurez un profil public et les autres utilisateurs pourront vous associer à leurs projets."
|
||||
allow_newsletter: "J'accepte de recevoir des informations du Fab Lab"
|
||||
allow_newsletter_help: "Vous pourriez recevoir la newsletter."
|
||||
used_for_statistics: "Cette donnée sera utilisée à des fins statistiques"
|
||||
used_for_invoicing: "Cette donnée sera utilisée à des fins de facturation"
|
||||
used_for_reservation: "Cette donnée sera utilisée en cas de changement sur une de vos réservations"
|
||||
|
@ -86,10 +86,9 @@ it:
|
||||
address: "Indirizzo"
|
||||
phone_number: "Numero di telefono"
|
||||
phone_number_invalid: "Numero di telefono non valido."
|
||||
allow_public_profile: "Autorizzo gli utenti, registrati sul sito, a contattarmi"
|
||||
allow_public_profile_help: "Il tuo profilo sarà visibile ad altri utenti e sarai in grado di collaborare ai progetti."
|
||||
allow_public_profile: "I agree to share my email address with registered users of the site"
|
||||
allow_public_profile_help: "You will have a public profile and other users will be able to associate you in their projects."
|
||||
allow_newsletter: "Accetto di ricevere informative da FabLab"
|
||||
allow_newsletter_help: "Potresti ricevere la newsletter."
|
||||
used_for_statistics: "Questi dati saranno utilizzati a fini statistici"
|
||||
used_for_invoicing: "Questi dati saranno utilizzati per la fatturazione"
|
||||
used_for_reservation: "Questi dati saranno utilizzati in caso di modifica di una delle tue prenotazioni"
|
||||
|
@ -86,10 +86,9 @@
|
||||
address: "Address"
|
||||
phone_number: "Phone number"
|
||||
phone_number_invalid: "Phone number is invalid."
|
||||
allow_public_profile: "I authorize users, registered on the site, to contact me"
|
||||
allow_public_profile_help: "Your profile will be visible to other users and you'll be able to collaborate on projects."
|
||||
allow_public_profile: "I agree to share my email address with registered users of the site"
|
||||
allow_public_profile_help: "You will have a public profile and other users will be able to associate you in their projects."
|
||||
allow_newsletter: "I accept to receive information from the FabLab"
|
||||
allow_newsletter_help: "You may receive the newsletter."
|
||||
used_for_statistics: "This data will be used for statistical purposes"
|
||||
used_for_invoicing: "This data will be used for billing purposes"
|
||||
used_for_reservation: "This data will be used in case of change on one of your bookings"
|
||||
|
@ -86,10 +86,9 @@ pt:
|
||||
address: "Endereço"
|
||||
phone_number: "Número de telefone"
|
||||
phone_number_invalid: "O número de telefone é inválido."
|
||||
allow_public_profile: "Eu autorizo usuários do FabLab, registrados no site, a entrarem em contato comigo"
|
||||
allow_public_profile_help: "Seu perfil ficará visível para outros usuários e você poderá colaborar em projetos."
|
||||
allow_public_profile: "I agree to share my email address with registered users of the site"
|
||||
allow_public_profile_help: "You will have a public profile and other users will be able to associate you in their projects."
|
||||
allow_newsletter: "Eu aceito receber informações do FabLab"
|
||||
allow_newsletter_help: "Você poderá receber a newsletter."
|
||||
used_for_statistics: "Estes dados serão utilizados para fins estatísticos"
|
||||
used_for_invoicing: "Esses dados serão usados para fins de faturamento"
|
||||
used_for_reservation: "Estes dados serão utilizados em caso de alteração em uma das suas reservas"
|
||||
|
@ -86,10 +86,9 @@ zu:
|
||||
address: "crwdns28670:0crwdne28670:0"
|
||||
phone_number: "crwdns28672:0crwdne28672:0"
|
||||
phone_number_invalid: "crwdns28674:0crwdne28674:0"
|
||||
allow_public_profile: "crwdns28676:0crwdne28676:0"
|
||||
allow_public_profile_help: "crwdns28678:0crwdne28678:0"
|
||||
allow_public_profile: "crwdns37671:0crwdne37671:0"
|
||||
allow_public_profile_help: "crwdns37673:0crwdne37673:0"
|
||||
allow_newsletter: "crwdns28680:0crwdne28680:0"
|
||||
allow_newsletter_help: "crwdns28682:0crwdne28682:0"
|
||||
used_for_statistics: "crwdns28684:0crwdne28684:0"
|
||||
used_for_invoicing: "crwdns28686:0crwdne28686:0"
|
||||
used_for_reservation: "crwdns28688:0crwdne28688:0"
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "fab-manager",
|
||||
"version": "6.0.10",
|
||||
"version": "6.0.11",
|
||||
"description": "Fab-manager is the FabLab management solution. It provides a comprehensive, web-based, open-source tool to simplify your administrative tasks and your marker's projects.",
|
||||
"keywords": [
|
||||
"fablab",
|
||||
|
Loading…
x
Reference in New Issue
Block a user