First commit waiting for Budget Alert

This commit is contained in:
2025-09-04 13:37:35 +01:00
commit 2d681f27f5
4563 changed files with 1061534 additions and 0 deletions

View File

@ -0,0 +1,35 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.db.repo;
import com.axelor.apps.talent.db.JobApplication;
import com.axelor.apps.talent.service.JobApplicationService;
import com.google.inject.Inject;
public class JobApplicationTalentRepository extends JobApplicationRepository {
@Inject private JobApplicationService jobApplicationService;
@Override
public JobApplication save(JobApplication entity) {
entity.setFullName(jobApplicationService.computeFullName(entity));
return super.save(entity);
}
}

View File

@ -0,0 +1,39 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.db.repo;
import com.axelor.apps.base.db.repo.SequenceRepository;
import com.axelor.apps.base.service.administration.SequenceService;
import com.axelor.apps.talent.db.JobPosition;
import com.google.inject.Inject;
public class JobPositionTalentRepository extends JobPositionRepository {
@Inject private SequenceService sequenceService;
@Override
public JobPosition save(JobPosition jobPosition) {
if (jobPosition.getStatusSelect() > 0 && jobPosition.getJobReference() == null) {
jobPosition.setJobReference(
sequenceService.getSequenceNumber(SequenceRepository.JOB_POSITION));
}
return super.save(jobPosition);
}
}

View File

@ -0,0 +1,77 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.db.repo;
import com.axelor.apps.talent.db.Training;
import com.axelor.apps.talent.db.TrainingRegister;
import com.axelor.apps.talent.db.TrainingSession;
import com.axelor.apps.talent.exception.IExceptionMessage;
import com.axelor.apps.talent.service.TrainingRegisterService;
import com.axelor.i18n.I18n;
import com.google.inject.Inject;
import javax.validation.ValidationException;
public class TrainingRegisterTalentRepository extends TrainingRegisterRepository {
@Inject private TrainingRegisterService trainingRegisterService;
@Override
public TrainingRegister save(TrainingRegister trainingRegister) {
if (trainingRegister.getFromDate().isAfter(trainingRegister.getToDate())) {
throw new ValidationException(I18n.get(IExceptionMessage.INVALID_DATE_RANGE));
}
TrainingSession trainingSession = trainingRegister.getTrainingSession();
if (trainingSession != null
&& (trainingSession.getFromDate().isAfter(trainingRegister.getFromDate())
|| trainingSession.getToDate().isBefore(trainingRegister.getToDate()))) {
throw new ValidationException(I18n.get(IExceptionMessage.INVALID_TR_DATE));
}
trainingRegister.setFullName(trainingRegisterService.computeFullName(trainingRegister));
trainingRegister = super.save(trainingRegister);
trainingRegisterService.updateTrainingRating(trainingRegister.getTraining(), null);
if (trainingRegister.getTrainingSession() != null) {
trainingRegisterService.updateSessionRating(trainingRegister.getTrainingSession(), null);
}
refresh(trainingRegister);
return trainingRegister;
}
@Override
public void remove(TrainingRegister trainingRegister) {
Training training = trainingRegister.getTraining();
TrainingSession session = trainingRegister.getTrainingSession();
super.remove(trainingRegister);
trainingRegisterService.updateTrainingRating(training, null);
if (session != null) {
trainingRegisterService.updateSessionRating(session, null);
}
}
}

View File

@ -0,0 +1,42 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.db.repo;
import com.axelor.apps.talent.db.TrainingSession;
import com.axelor.apps.talent.exception.IExceptionMessage;
import com.axelor.apps.talent.service.TrainingSessionService;
import com.axelor.i18n.I18n;
import com.google.inject.Inject;
import javax.validation.ValidationException;
public class TrainingSessionTalentRepository extends TrainingSessionRepository {
@Inject private TrainingSessionService trainingSessionService;
@Override
public TrainingSession save(TrainingSession trainingSession) {
if (trainingSession.getFromDate().isAfter(trainingSession.getToDate())) {
throw new ValidationException(I18n.get(IExceptionMessage.INVALID_DATE_RANGE));
}
trainingSession.setFullName(trainingSessionService.computeFullName(trainingSession));
return super.save(trainingSession);
}
}

View File

@ -0,0 +1,27 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.exception;
public interface IExceptionMessage {
public static final String INVALID_DATE_RANGE = /*$$(*/
"Invalid dates. From date must be before to date." /*)*/;
public static final String INVALID_TR_DATE = /*$$(*/
"Training dates must be under training session date range." /*)*/;
}

View File

@ -0,0 +1,58 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.module;
import com.axelor.app.AxelorModule;
import com.axelor.apps.base.service.message.MailAccountServiceBaseImpl;
import com.axelor.apps.talent.db.repo.JobApplicationRepository;
import com.axelor.apps.talent.db.repo.JobApplicationTalentRepository;
import com.axelor.apps.talent.db.repo.JobPositionRepository;
import com.axelor.apps.talent.db.repo.JobPositionTalentRepository;
import com.axelor.apps.talent.db.repo.TrainingRegisterRepository;
import com.axelor.apps.talent.db.repo.TrainingRegisterTalentRepository;
import com.axelor.apps.talent.db.repo.TrainingSessionRepository;
import com.axelor.apps.talent.db.repo.TrainingSessionTalentRepository;
import com.axelor.apps.talent.service.AppraisalService;
import com.axelor.apps.talent.service.AppraisalServiceImpl;
import com.axelor.apps.talent.service.JobApplicationService;
import com.axelor.apps.talent.service.JobApplicationServiceImpl;
import com.axelor.apps.talent.service.JobPositionService;
import com.axelor.apps.talent.service.JobPositionServiceImpl;
import com.axelor.apps.talent.service.MailAccountServiceTalentImpl;
import com.axelor.apps.talent.service.TrainingRegisterService;
import com.axelor.apps.talent.service.TrainingRegisterServiceImpl;
import com.axelor.apps.talent.service.TrainingSessionService;
import com.axelor.apps.talent.service.TrainingSessionServiceImpl;
public class TalentModule extends AxelorModule {
@Override
protected void configure() {
bind(TrainingRegisterRepository.class).to(TrainingRegisterTalentRepository.class);
bind(TrainingRegisterService.class).to(TrainingRegisterServiceImpl.class);
bind(TrainingSessionService.class).to(TrainingSessionServiceImpl.class);
bind(TrainingSessionRepository.class).to(TrainingSessionTalentRepository.class);
bind(JobPositionRepository.class).to(JobPositionTalentRepository.class);
bind(JobApplicationService.class).to(JobApplicationServiceImpl.class);
bind(JobApplicationRepository.class).to(JobApplicationTalentRepository.class);
bind(MailAccountServiceBaseImpl.class).to(MailAccountServiceTalentImpl.class);
bind(JobPositionService.class).to(JobPositionServiceImpl.class);
bind(AppraisalService.class).to(AppraisalServiceImpl.class);
}
}

View File

@ -0,0 +1,43 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.service;
import com.axelor.apps.hr.db.Employee;
import com.axelor.apps.talent.db.Appraisal;
import com.axelor.exception.AxelorException;
import java.io.IOException;
import java.util.Set;
import javax.mail.MessagingException;
public interface AppraisalService {
public void send(Appraisal appraisal)
throws ClassNotFoundException, InstantiationException, IllegalAccessException,
AxelorException, IOException, MessagingException;
public void realize(Appraisal appraisal);
public void cancel(Appraisal appraisal);
public void draft(Appraisal appraisal);
public Set<Long> createAppraisals(
Appraisal appraisalTemplate, Set<Employee> employees, Boolean send)
throws ClassNotFoundException, InstantiationException, IllegalAccessException,
AxelorException, IOException, MessagingException;
}

View File

@ -0,0 +1,146 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.service;
import com.axelor.apps.hr.db.Employee;
import com.axelor.apps.hr.db.EmploymentContract;
import com.axelor.apps.message.db.EmailAddress;
import com.axelor.apps.message.db.Message;
import com.axelor.apps.message.db.Template;
import com.axelor.apps.message.db.repo.TemplateRepository;
import com.axelor.apps.message.service.MessageService;
import com.axelor.apps.message.service.TemplateMessageService;
import com.axelor.apps.talent.db.Appraisal;
import com.axelor.apps.talent.db.repo.AppraisalRepository;
import com.axelor.auth.db.User;
import com.axelor.exception.AxelorException;
import com.axelor.mail.db.repo.MailFollowerRepository;
import com.google.inject.Inject;
import com.google.inject.persist.Transactional;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import javax.mail.MessagingException;
public class AppraisalServiceImpl implements AppraisalService {
@Inject private AppraisalRepository appraisalRepo;
@Inject private MailFollowerRepository mailFollowerRepo;
@Inject private TemplateRepository templateRepo;
@Inject private TemplateMessageService templateMessageService;
@Inject private MessageService messageService;
@Transactional(rollbackOn = {Exception.class})
@Override
public void send(Appraisal appraisal)
throws ClassNotFoundException, InstantiationException, IllegalAccessException,
AxelorException, IOException, MessagingException {
Employee employee = appraisal.getEmployee();
User user = employee.getUser();
if (user != null) {
mailFollowerRepo.follow(appraisal, user);
}
Template template =
templateRepo
.all()
.filter("self.metaModel.fullName = ?1", Appraisal.class.getName())
.fetchOne();
EmailAddress email = null;
if (employee.getContactPartner() != null) {
email = employee.getContactPartner().getEmailAddress();
}
if (template != null && email != null) {
Message message = templateMessageService.generateMessage(appraisal, template);
message.addToEmailAddressSetItem(email);
messageService.sendByEmail(message);
}
appraisal.setStatusSelect(AppraisalRepository.STATUS_SENT);
appraisalRepo.save(appraisal);
}
@Transactional
@Override
public void realize(Appraisal appraisal) {
appraisal.setStatusSelect(AppraisalRepository.STATUS_COMPLETED);
appraisalRepo.save(appraisal);
}
@Transactional
@Override
public void cancel(Appraisal appraisal) {
appraisal.setStatusSelect(AppraisalRepository.STATUS_CANCELED);
appraisalRepo.save(appraisal);
}
@Transactional
@Override
public void draft(Appraisal appraisal) {
appraisal.setStatusSelect(AppraisalRepository.STATUS_DRAFT);
appraisalRepo.save(appraisal);
}
@Transactional(rollbackOn = {Exception.class})
@Override
public Set<Long> createAppraisals(
Appraisal appraisalTemplate, Set<Employee> employees, Boolean send)
throws ClassNotFoundException, InstantiationException, IllegalAccessException,
AxelorException, IOException, MessagingException {
Set<Long> appraisalIds = new HashSet<Long>();
if (appraisalTemplate == null) {
return appraisalIds;
}
for (Employee employee : employees) {
Appraisal appraisal = appraisalRepo.copy(appraisalTemplate, false);
appraisal.setEmployee(employee);
if (appraisal.getCompany() == null) {
EmploymentContract employmentContract = employee.getMainEmploymentContract();
if (employmentContract != null) {
appraisal.setCompany(employmentContract.getPayCompany());
}
}
appraisal.setIsTemplate(false);
appraisal = appraisalRepo.save(appraisal);
if (send != null && send) {
send(appraisal);
}
appraisalIds.add(appraisal.getId());
}
return appraisalIds;
}
}

View File

@ -0,0 +1,28 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.service;
import com.axelor.apps.hr.db.Employee;
import com.axelor.apps.talent.db.JobApplication;
public interface JobApplicationService {
public Employee hire(JobApplication jobApplication);
public String computeFullName(JobApplication jobApplication);
}

View File

@ -0,0 +1,122 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.service;
import com.axelor.apps.base.db.Partner;
import com.axelor.apps.base.service.PartnerService;
import com.axelor.apps.base.service.app.AppBaseService;
import com.axelor.apps.hr.db.Employee;
import com.axelor.apps.talent.db.JobApplication;
import com.axelor.apps.talent.db.Skill;
import com.axelor.apps.talent.db.repo.JobApplicationRepository;
import com.axelor.exception.service.TraceBackService;
import com.axelor.meta.MetaFiles;
import com.google.inject.Inject;
import com.google.inject.persist.Transactional;
import java.io.File;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
public class JobApplicationServiceImpl implements JobApplicationService {
@Inject protected JobApplicationRepository jobApplicationRepo;
@Inject protected AppBaseService appBaseService;
@Inject protected PartnerService partnerService;
@Inject private MetaFiles metaFiles;
@Transactional
@Override
public Employee hire(JobApplication jobApplication) {
Employee employee = createEmployee(jobApplication);
jobApplication.setStatusSelect(JobApplicationRepository.STATUS_HIRED);
jobApplication.setEmployee(employee);
if (jobApplication.getJobPosition() != null) {
int nbPeopleHired = jobApplication.getJobPosition().getNbPeopleHired();
nbPeopleHired += 1;
jobApplication.getJobPosition().setNbPeopleHired(nbPeopleHired);
}
jobApplicationRepo.save(jobApplication);
return employee;
}
protected Employee createEmployee(JobApplication jobApplication) {
Employee employee = new Employee();
employee.setDateOfHire(appBaseService.getTodayDate());
employee.setContactPartner(createContact(jobApplication));
Set<Skill> tagSkillSet = new HashSet<Skill>();
tagSkillSet.addAll(jobApplication.getSkillSet());
employee.setSkillSet(tagSkillSet);
if (employee.getMainEmploymentContract() != null)
employee
.getMainEmploymentContract()
.setCompanyDepartment(jobApplication.getJobPosition().getCompanyDepartment());
employee.setName(employee.getContactPartner().getName());
return employee;
}
protected Partner createContact(JobApplication jobApplication) {
Partner contact = new Partner();
contact.setPartnerTypeSelect(2);
contact.setFirstName(jobApplication.getFirstName());
contact.setName(jobApplication.getLastName());
contact.setIsContact(true);
contact.setIsEmployee(true);
contact.setFixedPhone(jobApplication.getFixedPhone());
contact.setMobilePhone(jobApplication.getMobilePhone());
contact.setEmailAddress(jobApplication.getEmailAddress());
if (jobApplication.getPicture() != null) {
File file = MetaFiles.getPath(jobApplication.getPicture()).toFile();
try {
contact.setPicture(metaFiles.upload(file));
} catch (IOException e) {
TraceBackService.trace(e);
}
}
partnerService.setPartnerFullName(contact);
return contact;
}
@Override
public String computeFullName(JobApplication jobApplication) {
String fullName = null;
if (jobApplication.getFirstName() != null) {
fullName = jobApplication.getFirstName();
}
if (fullName == null) {
fullName = jobApplication.getLastName();
} else {
fullName += " " + jobApplication.getLastName();
}
return fullName;
}
}

View File

@ -0,0 +1,25 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.service;
import com.axelor.apps.message.db.Message;
public interface JobPositionService {
public void createJobApplication(Message message);
}

View File

@ -0,0 +1,132 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.service;
import com.axelor.apps.base.db.AppRecruitment;
import com.axelor.apps.base.db.repo.AppRecruitmentRepository;
import com.axelor.apps.message.db.Message;
import com.axelor.apps.talent.db.JobApplication;
import com.axelor.apps.talent.db.JobPosition;
import com.axelor.apps.talent.db.repo.JobApplicationRepository;
import com.axelor.apps.talent.db.repo.JobPositionRepository;
import com.axelor.meta.MetaFiles;
import com.axelor.meta.db.MetaAttachment;
import com.axelor.meta.db.MetaFile;
import com.axelor.meta.db.repo.MetaAttachmentRepository;
import com.google.inject.Inject;
import com.google.inject.persist.Transactional;
import java.io.IOException;
import java.util.List;
public class JobPositionServiceImpl implements JobPositionService {
@Inject private JobPositionRepository jobPositionRepo;
@Inject private JobApplicationRepository jobApplicationRepo;
@Inject private AppRecruitmentRepository appRecruitmentRepo;
@Inject private MetaFiles metaFiles;
@Inject private MetaAttachmentRepository metaAttachmentRepo;
@Override
public void createJobApplication(Message message) {
List<JobPosition> jobPositions =
jobPositionRepo.all().filter("self.mailAccount = ?1", message.getMailAccount()).fetch();
if (jobPositions.isEmpty()) {
return;
}
if (jobPositions.size() > 1) {
boolean positionFound = false;
for (JobPosition position : jobPositions) {
if (position.getJobReference() != null
&& message.getSubject().contains(position.getJobReference())) {
createApplication(position, message);
positionFound = true;
}
}
if (!positionFound) {
createApplication(null, message);
}
} else {
createApplication(jobPositions.get(0), message);
}
updateLastEmailId(message);
}
private void createApplication(JobPosition position, Message message) {
JobApplication application = new JobApplication();
if (position != null) {
application.setJobPosition(position);
application.setResponsible(position.getEmployee());
}
application.setEmailAddress(message.getFromEmailAddress());
application.setDescription(message.getContent());
application = saveApplication(application);
try {
copyAttachments(application, message);
} catch (IOException e) {
e.printStackTrace();
}
}
@Transactional
public JobApplication saveApplication(JobApplication application) {
if (application != null) {
application = jobApplicationRepo.save(application);
}
return application;
}
@Transactional
public void updateLastEmailId(Message message) {
AppRecruitment appRecruitment = appRecruitmentRepo.all().fetchOne();
appRecruitment.setLastEmailId(message.getId().toString());
appRecruitmentRepo.save(appRecruitment);
}
private void copyAttachments(JobApplication application, Message message) throws IOException {
List<MetaAttachment> attachments =
metaAttachmentRepo
.all()
.filter(
"self.objectId = ?1 and self.objectName = ?2",
message.getId(),
Message.class.getName())
.fetch();
for (MetaAttachment attachment : attachments) {
MetaFile file = attachment.getMetaFile();
metaFiles.attach(file, file.getFileName(), application);
}
}
}

View File

@ -0,0 +1,65 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.service;
import com.axelor.apps.base.db.AppRecruitment;
import com.axelor.apps.base.db.repo.AppRecruitmentRepository;
import com.axelor.apps.base.service.message.MailAccountServiceBaseImpl;
import com.axelor.apps.base.service.user.UserService;
import com.axelor.apps.message.db.EmailAccount;
import com.axelor.apps.message.db.Message;
import com.axelor.mail.MailParser;
import com.google.inject.Inject;
import com.google.inject.persist.Transactional;
import java.util.Date;
import javax.mail.MessagingException;
public class MailAccountServiceTalentImpl extends MailAccountServiceBaseImpl {
@Inject
public MailAccountServiceTalentImpl(UserService userService) {
super(userService);
}
@Inject private AppRecruitmentRepository appRecruitmentRepo;
@Inject private JobPositionService jobPositionService;
@Transactional(rollbackOn = {Exception.class})
@Override
public Message createMessage(EmailAccount mailAccount, MailParser parser, Date date)
throws MessagingException {
Message message = super.createMessage(mailAccount, parser, date);
AppRecruitment appRecruitment = appRecruitmentRepo.all().fetchOne();
if (appRecruitment != null
&& appRecruitment.getActive()
&& message.getMailAccount() != null
&& message.getMailAccount().getServerTypeSelect() > 1) {
String lastEmailId = appRecruitment.getLastEmailId();
if (lastEmailId == null || message.getId() > Long.parseLong(lastEmailId)) {
jobPositionService.createJobApplication(message);
}
}
return message;
}
}

View File

@ -0,0 +1,40 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.service;
import com.axelor.apps.crm.db.Event;
import com.axelor.apps.talent.db.Training;
import com.axelor.apps.talent.db.TrainingRegister;
import com.axelor.apps.talent.db.TrainingSession;
public interface TrainingRegisterService {
public Event plan(TrainingRegister trainingRegister);
public void complete(TrainingRegister trainingRegister);
public void cancel(TrainingRegister trainingRegister);
public Training updateTrainingRating(Training training, Long excludeId);
public TrainingSession updateSessionRating(TrainingSession trainingSession, Long excludeId);
public void updateEventCalendar(TrainingRegister trainingRegister);
public String computeFullName(TrainingRegister trainingRegister);
}

View File

@ -0,0 +1,188 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.service;
import com.axelor.apps.crm.db.Event;
import com.axelor.apps.crm.db.repo.EventRepository;
import com.axelor.apps.talent.db.Training;
import com.axelor.apps.talent.db.TrainingRegister;
import com.axelor.apps.talent.db.TrainingSession;
import com.axelor.apps.talent.db.repo.TrainingRegisterRepository;
import com.axelor.apps.talent.db.repo.TrainingRepository;
import com.axelor.apps.talent.db.repo.TrainingSessionRepository;
import com.google.inject.Inject;
import com.google.inject.persist.Transactional;
import java.math.BigDecimal;
import java.time.format.DateTimeFormatter;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TrainingRegisterServiceImpl implements TrainingRegisterService {
private final Logger log = LoggerFactory.getLogger(TrainingRegisterService.class);
@Inject protected TrainingRegisterRepository trainingRegisterRepo;
@Inject protected EventRepository eventRepo;
@Inject protected TrainingRepository trainingRepo;
@Inject protected TrainingSessionRepository trainingSessionRepo;
public static final String RELATED_TO_TRAINING_REGISTER =
"com.axelor.apps.talent.db.TrainingRegister";
@Transactional
@Override
public Event plan(TrainingRegister trainingRegister) {
trainingRegister.setStatusSelect(1);
trainingRegisterRepo.save(trainingRegister);
Event event = generateMeeting(trainingRegister);
return eventRepo.save(event);
}
protected Event generateMeeting(TrainingRegister trainingRegister) {
Event event = new Event();
event.setTypeSelect(EventRepository.TYPE_MEETING);
event.setStartDateTime(trainingRegister.getFromDate());
event.setEndDateTime(trainingRegister.getToDate());
event.setSubject(trainingRegister.getTraining().getName());
event.setUser(trainingRegister.getEmployee().getUser());
event.setCalendar(trainingRegister.getCalendar());
event.setRelatedToSelect(RELATED_TO_TRAINING_REGISTER);
event.setRelatedToSelectId(trainingRegister.getId());
if (trainingRegister.getTrainingSession() != null) {
event.setLocation(trainingRegister.getTrainingSession().getLocation());
}
return event;
}
@Transactional
@Override
public void complete(TrainingRegister trainingRegister) {
trainingRegister.setStatusSelect(2);
trainingRegister
.getEmployee()
.getSkillSet()
.addAll(trainingRegister.getTraining().getSkillSet());
trainingRegisterRepo.save(trainingRegister);
}
@Transactional
@Override
public Training updateTrainingRating(Training training, Long excludeId) {
String query = "self.training = ?1";
if (excludeId != null) {
query += " AND self.id != " + excludeId;
}
List<TrainingRegister> trainingTrs = trainingRegisterRepo.all().filter(query, training).fetch();
long totalTrainingsRating = trainingTrs.stream().mapToLong(tr -> tr.getRatingSelect()).sum();
int totalTrainingSize = trainingTrs.size();
log.debug("Training: {}", training.getName());
log.debug("Total trainings TR: {}", totalTrainingSize);
log.debug("Total ratings:: training: {}", totalTrainingsRating);
double avgRating = totalTrainingSize == 0 ? 0 : totalTrainingsRating / totalTrainingSize;
log.debug("Avg training rating : {}", avgRating);
training.setRating(new BigDecimal(avgRating));
return trainingRepo.save(training);
}
@Transactional
@Override
public TrainingSession updateSessionRating(TrainingSession session, Long excludeId) {
String query = "self.trainingSession = ?1";
if (excludeId != null) {
query += " AND self.id != " + excludeId;
}
List<TrainingRegister> sessionTrs = trainingRegisterRepo.all().filter(query, session).fetch();
long totalSessionsRating = sessionTrs.stream().mapToLong(tr -> tr.getRatingSelect()).sum();
int totalSessionSize = sessionTrs.size();
double avgRating = totalSessionSize == 0 ? 0 : totalSessionsRating / totalSessionSize;
log.debug("Avg session rating : {}", avgRating);
session.setRating(new BigDecimal(avgRating));
session.setNbrRegistered(totalSessionSize);
return trainingSessionRepo.save(session);
}
@Transactional
@Override
public void cancel(TrainingRegister trainingRegister) {
trainingRegister.setStatusSelect(3);
trainingRegisterRepo.save(trainingRegister);
}
@Transactional
@Override
public void updateEventCalendar(TrainingRegister trainingRegister) {
Event event =
eventRepo
.all()
.filter(
"self.relatedToSelect = ?1 AND self.relatedToSelectId = ?2",
RELATED_TO_TRAINING_REGISTER,
trainingRegister.getId())
.fetchOne();
if (event != null) {
event.setCalendar(trainingRegister.getCalendar());
eventRepo.save(event);
}
}
@Override
public String computeFullName(TrainingRegister trainingRegister) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("ddMMyyyyHHmm");
return trainingRegister.getTraining().getName()
+ "-"
+ trainingRegister.getEmployee().getName()
+ "-"
+ trainingRegister.getFromDate().format(formatter)
+ "-"
+ trainingRegister.getToDate().format(formatter);
}
}

View File

@ -0,0 +1,27 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.service;
import com.axelor.apps.talent.db.TrainingSession;
public interface TrainingSessionService {
public void closeSession(TrainingSession trainingSession);
public String computeFullName(TrainingSession trainingSession);
}

View File

@ -0,0 +1,62 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.service;
import com.axelor.apps.talent.db.TrainingRegister;
import com.axelor.apps.talent.db.TrainingSession;
import com.axelor.apps.talent.db.repo.TrainingRegisterRepository;
import com.axelor.apps.talent.db.repo.TrainingSessionRepository;
import com.google.inject.Inject;
import com.google.inject.persist.Transactional;
import java.time.format.DateTimeFormatter;
import java.util.List;
public class TrainingSessionServiceImpl implements TrainingSessionService {
@Inject private TrainingSessionRepository trainingSessionRepo;
@Inject private TrainingRegisterService trainingRegisterService;
@Inject private TrainingRegisterRepository trainingRegisterRepo;
@Transactional
@Override
public void closeSession(TrainingSession trainingSession) {
trainingSession.setStatusSelect(2);
List<TrainingRegister> trainingRegisters =
trainingRegisterRepo.all().filter("self.trainingSession = ?1", trainingSession).fetch();
for (TrainingRegister trainingRegister : trainingRegisters) {
trainingRegisterService.complete(trainingRegister);
}
trainingSessionRepo.save(trainingSession);
}
@Override
public String computeFullName(TrainingSession trainingSession) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm");
return trainingSession.getFromDate().format(formatter)
+ " - "
+ trainingSession.getToDate().format(formatter);
}
}

View File

@ -0,0 +1,25 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.translation;
public interface ITranslation {
public static final String TRAINING_APP_NAME = /*$$(*/ "value:Training"; /*)*/
public static final String RECRUITMENT_APP_NAME = /*$$(*/ "value:Recruitment"; /*)*/
public static final String APPRAISAL_APP_NAME = /*$$(*/ "value:Appraisal"; /*)*/
}

View File

@ -0,0 +1,141 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.web;
import com.axelor.apps.hr.db.Employee;
import com.axelor.apps.hr.db.repo.EmployeeRepository;
import com.axelor.apps.talent.db.Appraisal;
import com.axelor.apps.talent.db.repo.AppraisalRepository;
import com.axelor.apps.talent.service.AppraisalService;
import com.axelor.exception.service.TraceBackService;
import com.axelor.inject.Beans;
import com.axelor.meta.schema.actions.ActionView;
import com.axelor.rpc.ActionRequest;
import com.axelor.rpc.ActionResponse;
import com.axelor.rpc.Context;
import com.google.inject.Singleton;
import java.util.Collection;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@Singleton
public class AppraisalController {
public void send(ActionRequest request, ActionResponse response) {
Appraisal appraisal = request.getContext().asType(Appraisal.class);
try {
appraisal = Beans.get(AppraisalRepository.class).find(appraisal.getId());
Beans.get(AppraisalService.class).send(appraisal);
response.setReload(true);
} catch (Exception e) {
TraceBackService.trace(response, e);
}
}
public void realize(ActionRequest request, ActionResponse response) {
Appraisal appraisal = request.getContext().asType(Appraisal.class);
try {
appraisal = Beans.get(AppraisalRepository.class).find(appraisal.getId());
Beans.get(AppraisalService.class).realize(appraisal);
response.setReload(true);
} catch (Exception e) {
TraceBackService.trace(response, e);
}
}
public void cancel(ActionRequest request, ActionResponse response) {
Appraisal appraisal = request.getContext().asType(Appraisal.class);
try {
appraisal = Beans.get(AppraisalRepository.class).find(appraisal.getId());
Beans.get(AppraisalService.class).cancel(appraisal);
response.setReload(true);
} catch (Exception e) {
TraceBackService.trace(response, e);
}
}
public void draft(ActionRequest request, ActionResponse response) {
Appraisal appraisal = request.getContext().asType(Appraisal.class);
try {
appraisal = Beans.get(AppraisalRepository.class).find(appraisal.getId());
Beans.get(AppraisalService.class).draft(appraisal);
response.setReload(true);
} catch (Exception e) {
TraceBackService.trace(response, e);
}
}
public void createAppraisals(ActionRequest request, ActionResponse response) {
try {
Context context = request.getContext();
Set<Map<String, Object>> employeeSet = new HashSet<Map<String, Object>>();
employeeSet.addAll((Collection<? extends Map<String, Object>>) context.get("employeeSet"));
Set<Employee> employees = new HashSet<Employee>();
EmployeeRepository employeeRepo = Beans.get(EmployeeRepository.class);
for (Map<String, Object> emp : employeeSet) {
Long empId = Long.parseLong(emp.get("id").toString());
employees.add(employeeRepo.find(empId));
}
Long templateId = Long.parseLong(context.get("templateId").toString());
Appraisal appraisalTemplate = Beans.get(AppraisalRepository.class).find(templateId);
Boolean send = (Boolean) context.get("sendAppraisals");
Set<Long> createdIds =
Beans.get(AppraisalService.class).createAppraisals(appraisalTemplate, employees, send);
response.setView(
ActionView.define("Appraisal")
.model(Appraisal.class.getName())
.add("grid", "appraisal-grid")
.add("form", "appraisal-form")
.domain("self.id in :createdIds")
.context("createdIds", createdIds)
.map());
response.setCanClose(true);
} catch (Exception e) {
TraceBackService.trace(response, e);
}
}
}

View File

@ -0,0 +1,64 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.web;
import com.axelor.apps.base.service.PartnerService;
import com.axelor.apps.hr.db.Employee;
import com.axelor.apps.talent.db.JobApplication;
import com.axelor.apps.talent.db.repo.JobApplicationRepository;
import com.axelor.apps.talent.service.JobApplicationService;
import com.axelor.i18n.I18n;
import com.axelor.inject.Beans;
import com.axelor.meta.schema.actions.ActionView;
import com.axelor.rpc.ActionRequest;
import com.axelor.rpc.ActionResponse;
import com.google.inject.Singleton;
import java.util.Map;
@Singleton
public class JobApplicationController {
public void hire(ActionRequest request, ActionResponse response) {
JobApplication jobApplication = request.getContext().asType(JobApplication.class);
jobApplication = Beans.get(JobApplicationRepository.class).find(jobApplication.getId());
Employee employee = Beans.get(JobApplicationService.class).hire(jobApplication);
response.setReload(true);
response.setView(
ActionView.define(I18n.get("Employee"))
.model(Employee.class.getName())
.add("grid", "employee-grid")
.add("form", "employee-form")
.param("search-filters", "employee-filters")
.context("_showRecord", employee.getId())
.map());
}
public void setSocialNetworkUrl(ActionRequest request, ActionResponse response) {
JobApplication application = request.getContext().asType(JobApplication.class);
Map<String, String> urlMap =
Beans.get(PartnerService.class)
.getSocialNetworkUrl(application.getFirstName(), application.getLastName(), 2);
response.setAttr("linkedinLabel", "title", urlMap.get("linkedin"));
}
}

View File

@ -0,0 +1,105 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.web;
import com.axelor.apps.crm.db.Event;
import com.axelor.apps.talent.db.Training;
import com.axelor.apps.talent.db.TrainingRegister;
import com.axelor.apps.talent.db.TrainingSession;
import com.axelor.apps.talent.db.repo.TrainingRegisterRepository;
import com.axelor.apps.talent.service.TrainingRegisterService;
import com.axelor.inject.Beans;
import com.axelor.meta.schema.actions.ActionView;
import com.axelor.rpc.ActionRequest;
import com.axelor.rpc.ActionResponse;
import com.google.inject.Singleton;
@Singleton
public class TrainingRegisterController {
public void plan(ActionRequest request, ActionResponse response) {
TrainingRegister trainingRegister = request.getContext().asType(TrainingRegister.class);
trainingRegister = Beans.get(TrainingRegisterRepository.class).find(trainingRegister.getId());
Event event = Beans.get(TrainingRegisterService.class).plan(trainingRegister);
response.setReload(true);
response.setView(
ActionView.define("Meeting")
.model(Event.class.getCanonicalName())
.add("form", "event-form")
.add("grid", "event-grid")
.context("_showRecord", event.getId())
.context("_user", trainingRegister.getEmployee().getUser())
.map());
}
public void updateEventCalendar(ActionRequest request, ActionResponse response) {
TrainingRegister trainingRegister = request.getContext().asType(TrainingRegister.class);
Beans.get(TrainingRegisterService.class).updateEventCalendar(trainingRegister);
}
public void complete(ActionRequest request, ActionResponse response) {
TrainingRegister trainingRegister = request.getContext().asType(TrainingRegister.class);
trainingRegister = Beans.get(TrainingRegisterRepository.class).find(trainingRegister.getId());
Beans.get(TrainingRegisterService.class).complete(trainingRegister);
response.setReload(true);
}
public void cancel(ActionRequest request, ActionResponse response) {
TrainingRegister trainingRegister = request.getContext().asType(TrainingRegister.class);
trainingRegister = Beans.get(TrainingRegisterRepository.class).find(trainingRegister.getId());
Beans.get(TrainingRegisterService.class).cancel(trainingRegister);
response.setReload(true);
}
public void updateOldRating(ActionRequest request, ActionResponse response) {
TrainingRegister trainingRegister = request.getContext().asType(TrainingRegister.class);
TrainingRegisterService trainingRegisterService = Beans.get(TrainingRegisterService.class);
Training trainingSaved = null;
TrainingSession trainingSessionSaved = null;
if (trainingRegister.getId() != null) {
TrainingRegister trainingRegisterSaved =
Beans.get(TrainingRegisterRepository.class).find(trainingRegister.getId());
trainingSessionSaved = trainingRegisterSaved.getTrainingSession();
trainingSaved = trainingRegisterSaved.getTraining();
}
if (trainingSaved != null && trainingSaved.getId() != trainingRegister.getTraining().getId()) {
trainingRegisterService.updateTrainingRating(trainingSaved, trainingRegister.getId());
}
if (trainingSessionSaved != null) {
if (trainingRegister.getTrainingSession() == null
|| trainingRegister.getTrainingSession().getId() != trainingSessionSaved.getId()) {
trainingRegisterService.updateSessionRating(trainingSessionSaved, trainingRegister.getId());
}
}
}
}

View File

@ -0,0 +1,40 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.talent.web;
import com.axelor.apps.talent.db.TrainingSession;
import com.axelor.apps.talent.db.repo.TrainingSessionRepository;
import com.axelor.apps.talent.service.TrainingSessionService;
import com.axelor.inject.Beans;
import com.axelor.rpc.ActionRequest;
import com.axelor.rpc.ActionResponse;
import com.google.inject.Singleton;
@Singleton
public class TrainingSessionController {
public void closeSession(ActionRequest request, ActionResponse response) {
TrainingSession trainingSession = request.getContext().asType(TrainingSession.class);
trainingSession = Beans.get(TrainingSessionRepository.class).find(trainingSession.getId());
Beans.get(TrainingSessionService.class).closeSession(trainingSession);
response.setReload(true);
}
}

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_5.2.xsd">
<input file="base_sequence.csv" separator=";" type="com.axelor.apps.base.db.Sequence" search="self.code = :code" call="com.axelor.csv.script.SequenceScript:computeFullname">
<bind to="yearlyResetOk" column="yearlyResetOk" eval="yearlyResetOk == '1' ? true : false"/>
<bind to="nextNum" column="nextNum" eval="nextNum?.empty ? '1' : nextNum"/>
<bind to="padding" column="padding" eval="padding?.empty ? '1' : padding"/>
<bind to="toBeAdded" column="toBeAdded" eval="toBeAdded?.empty ? '1' : toBeAdded"/>
<bind to="resetDate" eval="call:com.axelor.apps.base.service.app.AppBaseService:getTodayDate()" />
</input>
<input file="message_template.csv" separator=";" type="com.axelor.apps.message.db.Template" search="self.name = :name" >
<bind to="language" search="self.code = :languageCode"/>
</input>
<input file="talent_hiringStage.csv" separator=";" type="com.axelor.apps.talent.db.HiringStage" search="self.name = :name" />
</csv-inputs>

View File

@ -0,0 +1,2 @@
code;name;nextNum;padding;prefixe;suffixe;toBeAdded;yearlyResetOk;company.importId;journal.importId
jobPosition;Job position;1;4;JOB;;1;0;1;
1 code name nextNum padding prefixe suffixe toBeAdded yearlyResetOk company.importId journal.importId
2 jobPosition Job position 1 4 JOB 1 0 1

View File

@ -0,0 +1,2 @@
name;metaModel.name;languageCode;target;birtTemplate.name;filePath;isDefault;templateContext;subject;content;toRecipients;ccRecipients;bccRecipients;mediaTypeSelect
Appraisal;Appraisal;en;;;;true;;Appraisal;"<p>Hello</p><p>$Appraisal.employee.name$</p><p>Here is details of your appraisal&nbsp;</p>";;;;2
1 name metaModel.name languageCode target birtTemplate.name filePath isDefault templateContext subject content toRecipients ccRecipients bccRecipients mediaTypeSelect
2 Appraisal Appraisal en true Appraisal <p>Hello</p><p>$Appraisal.employee.name$</p><p>Here is details of your appraisal&nbsp;</p> 2

View File

@ -0,0 +1,8 @@
"name";"sequence"
"Received";1
"Interviews";2
"Offered";3
"Hired";4
"Application rejected";5
"Offer rejected";6
"Cancel";7
1 name sequence
2 Received 1
3 Interviews 2
4 Offered 3
5 Hired 4
6 Application rejected 5
7 Offer rejected 6
8 Cancel 7

View File

@ -0,0 +1,2 @@
code;name;nextNum;padding;prefixe;suffixe;toBeAdded;yearlyResetOk;company.importId;journal.importId
jobPosition;Job position;1;4;JOB;;1;0;1;
1 code name nextNum padding prefixe suffixe toBeAdded yearlyResetOk company.importId journal.importId
2 jobPosition Job position 1 4 JOB 1 0 1

View File

@ -0,0 +1,2 @@
name;metaModel.name;languageCode;target;birtTemplate.name;filePath;isDefault;templateContext;subject;content;toRecipients;ccRecipients;bccRecipients;mediaTypeSelect
Appraisal;Appraisal;fr;;;;true;;Appraisal;"<p>Hello</p><p>$Appraisal.employee.name$</p><p>Here is details of your appraisal&nbsp;</p>";;;;2
1 name metaModel.name languageCode target birtTemplate.name filePath isDefault templateContext subject content toRecipients ccRecipients bccRecipients mediaTypeSelect
2 Appraisal Appraisal fr true Appraisal <p>Hello</p><p>$Appraisal.employee.name$</p><p>Here is details of your appraisal&nbsp;</p> 2

View File

@ -0,0 +1,8 @@
"name";"sequence"
"Reçu";1
"Entretiens";2
"Offre";3
"Embauché";4
"Candidature rejetée";5
"Offre rejetée";6
"Annulé";7
1 name sequence
2 Reçu 1
3 Entretiens 2
4 Offre 3
5 Embauché 4
6 Candidature rejetée 5
7 Offre rejetée 6
8 Annulé 7

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_5.2.xsd">
<input file="auth_permission.csv" separator=";" type="com.axelor.auth.db.Permission" search="self.name = :name" call="com.axelor.csv.script.ImportPermission:importPermissionToRole">
<bind to="canRead" eval="can_read == 'x' ? 'true' : 'false'"/>
<bind to="canWrite" eval="can_write == 'x' ? 'true' : 'false'"/>
<bind to="canCreate" eval="can_create == 'x' ? 'true' : 'false'"/>
<bind to="canRemove" eval="can_remove == 'x' ? 'true' : 'false'"/>
<bind to="canExport" eval="can_export == 'x' ? 'true' : 'false'"/>
</input>
<input file="base_appTraining.csv" separator=";" type="com.axelor.apps.base.db.AppTraining" call="com.axelor.csv.script.ImportApp:importApp">
<bind column="dependsOn" to="dependsOnSet" search="self.code in :dependsOn" eval="dependsOn.split(',') as List"/>
</input>
<input file="base_appRecruitment.csv" separator=";" type="com.axelor.apps.base.db.AppRecruitment" call="com.axelor.csv.script.ImportApp:importApp">
<bind column="dependsOn" to="dependsOnSet" search="self.code in :dependsOn" eval="dependsOn.split(',') as List"/>
</input>
<input file="base_appAppraisal.csv" separator=";" type="com.axelor.apps.base.db.AppAppraisal" call="com.axelor.csv.script.ImportApp:importApp">
<bind column="dependsOn" to="dependsOnSet" search="self.code in :dependsOn" eval="dependsOn.split(',') as List"/>
</input>
<input file="meta_helpEN.csv" separator=";" type="com.axelor.meta.db.MetaHelp">
<bind to="language" eval="'en'" />
<bind to="type" eval="'tooltip'" />
<bind to="model" eval="com.axelor.inject.Beans.get(com.axelor.meta.db.repo.MetaModelRepository.class).findByName(object)?.getFullName()" column="object" />
</input>
<input file="meta_helpFR.csv" separator=";" type="com.axelor.meta.db.MetaHelp">
<bind to="language" eval="'fr'" />
<bind to="type" eval="'tooltip'" />
<bind to="model" eval="com.axelor.inject.Beans.get(com.axelor.meta.db.repo.MetaModelRepository.class).findByName(object)?.getFullName()" column="object" />
</input>
<input file="meta_metaMenu.csv" separator=";" type="com.axelor.meta.db.MetaMenu" search="self.name = :name" update="true" />
</csv-inputs>

View File

@ -0,0 +1,2 @@
"name";"object";"can_read";"can_write";"can_create";"can_remove";"can_export";"condition";"conditionParams";"roleName"
"perm.talent.all";"com.axelor.apps.talent.db.*";"x";"x";"x";"x";"x";;;"Admin"
1 name object can_read can_write can_create can_remove can_export condition conditionParams roleName
2 perm.talent.all com.axelor.apps.talent.db.* x x x x x Admin

View File

@ -0,0 +1,2 @@
"name";"code";"installOrder";"description";"imagePath";"modules";"dependsOn";"sequence"
"Appraisal";"appraisal";22;"Appraisal";"app-appraisal.png";"axelor-talent";"employee";24
1 name code installOrder description imagePath modules dependsOn sequence
2 Appraisal appraisal 22 Appraisal app-appraisal.png axelor-talent employee 24

View File

@ -0,0 +1,2 @@
"name";"code";"installOrder";"description";"imagePath";"modules";"dependsOn";"sequence"
"Recruitment";"recruitment";22;"Recruitment";"app-recruitment.png";"axelor-talent";"employee";22
1 name code installOrder description imagePath modules dependsOn sequence
2 Recruitment recruitment 22 Recruitment app-recruitment.png axelor-talent employee 22

View File

@ -0,0 +1,2 @@
"name";"code";"installOrder";"description";"imagePath";"modules";"dependsOn";"sequence"
"Training";"training";20;"Training";"app-training.png";"axelor-talent";"employee";23
1 name code installOrder description imagePath modules dependsOn sequence
2 Training training 20 Training app-training.png axelor-talent employee 23

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,4 @@
"module";"object";"view";"field";"help"
"axelor-talent";"JobPosition";"job-position-form";"contractType";"Type of employment contract : permanent contract, temporary contract, internship...They are configured in the configurations of the ""Employee Management"" app."
"axelor-talent";"JobPosition";"job-position-form";"mailAccount";"The management of the candidatures can be automated by filling the field ""Job email"" when creating a job offer. It must be an email account already configured in the application. You must include this email address in your job offer in order to automatically import applicants' information and attachments into the application. Each email sent to this address will create a new application."
"axelor-talent";"JobPosition";"job-position-form";"nbOpenJob";"Indicates the number of open positions for this job offer."
1 module object view field help
2 axelor-talent JobPosition job-position-form contractType Type of employment contract : permanent contract, temporary contract, internship...They are configured in the configurations of the "Employee Management" app.
3 axelor-talent JobPosition job-position-form mailAccount The management of the candidatures can be automated by filling the field "Job email" when creating a job offer. It must be an email account already configured in the application. You must include this email address in your job offer in order to automatically import applicants' information and attachments into the application. Each email sent to this address will create a new application.
4 axelor-talent JobPosition job-position-form nbOpenJob Indicates the number of open positions for this job offer.

View File

@ -0,0 +1,4 @@
"module";"object";"view";"field";"help"
"axelor-talent";"JobPosition";"job-position-form";"contractType";"Type de contrat de travail : CDI, CDD, stage... Ils se configurent dans les configurations de l'app ""Gestions des employés""."
"axelor-talent";"JobPosition";"job-position-form";"mailAccount";"La création des candidatures peut être automatisée en remplissant le champ ""Email de réponse à l'offre d'emploi"" lors de la création d'une offre d'emploi. Il doit s'agir d'un compte email déjà configuré dans l'application. Vous devez indiquez cette adresse email dans votre offre d'emploi afin d'importer automatiquement dans l'application les informations et pièces jointes des candidats. Chaque email envoyé à cette adresse créera une nouvelle candidature."
"axelor-talent";"JobPosition";"job-position-form";"nbOpenJob";"Indique le nombre de postes ouverts pour cette offre d'emploi."
1 module object view field help
2 axelor-talent JobPosition job-position-form contractType Type de contrat de travail : CDI, CDD, stage... Ils se configurent dans les configurations de l'app "Gestions des employés".
3 axelor-talent JobPosition job-position-form mailAccount La création des candidatures peut être automatisée en remplissant le champ "Email de réponse à l'offre d'emploi" lors de la création d'une offre d'emploi. Il doit s'agir d'un compte email déjà configuré dans l'application. Vous devez indiquez cette adresse email dans votre offre d'emploi afin d'importer automatiquement dans l'application les informations et pièces jointes des candidats. Chaque email envoyé à cette adresse créera une nouvelle candidature.
4 axelor-talent JobPosition job-position-form nbOpenJob Indique le nombre de postes ouverts pour cette offre d'emploi.

View File

@ -0,0 +1,20 @@
"name";"roles.name"
"recruitment-root";"Admin"
"recruitment-job-position-open";"Admin"
"recruitment-job-application-all";"Admin"
"recruitment-config";"Admin"
"recruitment-config-education-level";"Admin"
"recruitment-config-hiring-stage";"Admin"
"recruitment-config-source";"Admin"
"training-root";"Admin"
"training-register-all";"Admin"
"training-dashboard";"Admin"
"training-conf";"Admin"
"training-category-all";"Admin"
"training-training-all";"Admin"
"training-session-all";"Admin"
"appraisal-root";"Admin"
"appraisal-all-appraisals";"Admin"
"appraisal-template-appraisals";"Admin"
"appraisal-config";"Admin"
"appraisal-config-appraisal-type";"Admin"
1 name roles.name
2 recruitment-root Admin
3 recruitment-job-position-open Admin
4 recruitment-job-application-all Admin
5 recruitment-config Admin
6 recruitment-config-education-level Admin
7 recruitment-config-hiring-stage Admin
8 recruitment-config-source Admin
9 training-root Admin
10 training-register-all Admin
11 training-dashboard Admin
12 training-conf Admin
13 training-category-all Admin
14 training-training-all Admin
15 training-session-all Admin
16 appraisal-root Admin
17 appraisal-all-appraisals Admin
18 appraisal-template-appraisals Admin
19 appraisal-config Admin
20 appraisal-config-appraisal-type Admin

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="base" package="com.axelor.apps.base.db"/>
<entity name="AppAppraisal" lang="java" cacheable="true" extends="App" />
</domain-models>

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="base" package="com.axelor.apps.base.db"/>
<entity name="AppRecruitment" lang="java" extends="App">
<string name="lastEmailId" title="Last email sync id"/>
<track>
<field name="lastEmailId" on="UPDATE"/>
</track>
</entity>
</domain-models>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="base" package="com.axelor.apps.base.db"/>
<entity name="AppTraining" lang="java" cacheable="true" extends="App" />
</domain-models>

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="talent" package="com.axelor.apps.talent.db"/>
<entity name="Appraisal" lang="java" cacheable="true">
<many-to-one name="employee" ref="com.axelor.apps.hr.db.Employee" title="Employee" />
<many-to-one name="company" ref="com.axelor.apps.base.db.Company" title="Company" />
<many-to-one name="appraisalType" ref="AppraisalType" title="Type of appraisal" required="true"/>
<date name="toDate" title="Deadline" />
<many-to-one name="reviewerEmployee" ref="com.axelor.apps.hr.db.Employee" title="Reviewer" />
<string name="description" title="Description" large="true" />
<integer name="statusSelect" title="Status" selection="appraisal.status.selected" readonly="true"/>
<boolean name="isTemplate" title="Is template" />
<extra-code><![CDATA[
// TYPE SELECT
public static final int STATUS_DRAFT = 0;
public static final int STATUS_SENT = 1;
public static final int STATUS_COMPLETED = 2;
public static final int STATUS_CANCELED = 3;
]]></extra-code>
<track>
<field name="employee"/>
<field name="company"/>
<field name="appraisalType"/>
<field name="toDate"/>
<field name="reviewerEmployee"/>
<field name="attrs"/>
<field name="description"/>
<field name="statusSelect" on="UPDATE"/>
<field name="isTemplate"/>
<message if="statusSelect == 1" on="UPDATE">Appraisal sent</message>
<message if="statusSelect == 2" on="UPDATE">Appraisal realized</message>
<message if="statusSelect == 3" on="UPDATE">Appraisal cancelled</message>
<message if="statusSelect == 0" on="UPDATE">Appraisal draft</message>
</track>
</entity>
</domain-models>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="talent" package="com.axelor.apps.talent.db"/>
<entity name="AppraisalType" lang="java" cacheable="true">
<string name="name" title="Name" required="true" />
</entity>
</domain-models>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="talent" package="com.axelor.apps.talent.db"/>
<entity name="EducationLevel" lang="java" cacheable="true">
<string name="name" title="Name" required="true" />
</entity>
</domain-models>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" ?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="human-resource" package="com.axelor.apps.hr.db"/>
<entity name="Employee" cacheable="true">
<many-to-many name="trainingSkillSet" ref="com.axelor.apps.talent.db.Skill" title="Training skills"/>
<many-to-many name="experienceSkillSet" ref="com.axelor.apps.talent.db.Skill" title="Experience skills"/>
<many-to-many name="skillSet" ref="com.axelor.apps.talent.db.Skill" title="Other skills" />
</entity>
</domain-models>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="talent" package="com.axelor.apps.talent.db"/>
<entity name="HiringStage" lang="java" cacheable="true">
<string name="name" title="Name" required="true" />
<integer name="sequence" title="Sequence" />
</entity>
</domain-models>

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="talent" package="com.axelor.apps.talent.db"/>
<entity name="JobApplication" lang="java" cacheable="true">
<string name="lastName" title="Last name" />
<string name="firstName" title="First name" />
<string name="fullName" title="Full name" namecolumn="true" />
<one-to-one name="emailAddress" ref="com.axelor.apps.message.db.EmailAddress" title="Email" />
<string name="fixedPhone" title="Fixed phone" />
<string name="mobilePhone" title="Mobile phone" />
<many-to-one name="educationLevel" ref="EducationLevel" title="Level of education" />
<integer name="experienceSelect" title="Work experience" selection="job.position.experience.select" />
<many-to-many name="industrySectorSet" title="Business sectors" ref="com.axelor.apps.base.db.IndustrySector"/>
<string name="linkedInProfile" title="LinkedIn profile" />
<many-to-one name="talentSource" ref="com.axelor.apps.talent.db.TalentSource" title="Source" />
<string name="referredBy" title="Referred by" />
<integer name="appreciation" title="Appreciation" selection="training.register.rating.select" />
<many-to-one name="jobPosition" ref="JobPosition" title="Applied job" required="true" />
<many-to-one name="responsible" ref="com.axelor.apps.hr.db.Employee" title="Responsible" />
<many-to-one name="employee" ref="com.axelor.apps.hr.db.Employee" title="Employee hired" />
<string name="expectedSalary" title="Expected salary" />
<string name="proposedSalary" title="Proposed salary" />
<date name="availabilityFrom" title="Availability from" />
<string name="description" title="Description" large="true"/>
<integer name="statusSelect" title="Status" selection="job.application.status.select" />
<many-to-one name="hiringStage" ref="com.axelor.apps.talent.db.HiringStage" title="Hiring stage"/>
<string name="reasonNotHired" title="Reason not hired" large="true"/>
<many-to-many name="skillSet" title="Skills tag" ref="Skill"/>
<many-to-one name="picture" ref="com.axelor.meta.db.MetaFile" title="Photo" initParam="true"/>
<date name="creationDate" title="Date of application"/>
<integer name="titleSelect" title="Title" selection="partner.title.type.select"/>
<string name="fax" title="Fax"/>
<many-to-one name="employeeAddress" title="Address" ref="com.axelor.apps.base.db.Address"/>
<extra-code>
<![CDATA[
public static final Integer STATUS_OPEN = 0;
public static final Integer STATUS_HIRED = 1;
public static final Integer STATUS_REJECTED = 2;
public static final Integer STATUS_CANCELLED = 3;
]]>
</extra-code>
</entity>
</domain-models>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="talent" package="com.axelor.apps.talent.db"/>
<entity name="JobPosition" lang="java" cacheable="true">
<string name="jobTitle" title="Job title" required="true" namecolumn="true"/>
<string name="jobReference" title="Job reference" readonly="true"/>
<many-to-one name="companyDepartment" ref="com.axelor.apps.base.db.CompanyDepartment" title="Department" />
<many-to-one name="employee" ref="com.axelor.apps.hr.db.Employee" title="Responsible" />
<many-to-one name="contractType" ref="com.axelor.apps.hr.db.EmploymentContractType" title="Contract type" />
<integer name="experienceSelect" title="Experience" selection="job.position.experience.select" />
<string name="salary" title="Salary" />
<string name="location" title="Location" />
<string name="jobDescription" title="Job description" large="true"/>
<many-to-one name="mailAccount" ref="com.axelor.apps.message.db.EmailAccount" title="Job email" />
<integer name="statusSelect" title="Status" selection="job.position.status.select" />
<integer name="nbOpenJob" title="Nb of open jobs" />
<integer name="nbPeopleHired" title="Nb of people hired" readonly="true" />
<date name="publicationDate" title="Publication Date"/>
<many-to-one name="company" ref="com.axelor.apps.base.db.Company" title="Company"/>
<string name="positionStatusSelect" title="Position Status" selection="job.position.position.status"/>
<date name="startingDate" title="Starting date"/>
<string name="profileWanted" title="Profile wanted"/>
<extra-code>
<![CDATA[
public static final Integer STATUS_DRAFT = 0;
public static final Integer STATUS_OPEN = 1;
public static final Integer STATUS_ON_HOLD = 2;
public static final Integer STATUS_CLOSED = 3;
public static final Integer STATUS_CANCELED = 3;
]]>
</extra-code>
</entity>
</domain-models>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="base" package="com.axelor.apps.base.db"/>
<entity name="Sequence" lang="java">
<extra-code><![CDATA[
//SEQUENCE SELECT
public static final String JOB_POSITION = "jobPosition";
]]></extra-code>
</entity>
</domain-models>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="talent" package="com.axelor.apps.talent.db"/>
<entity name="Skill" lang="java" cacheable="true">
<string name="name" title="Name" required="true" />
</entity>
</domain-models>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="talent" package="com.axelor.apps.talent.db"/>
<entity name="TalentSource" lang="java" cacheable="true">
<string name="code" title="Code" required="true"/>
<string name="name" title="Name" required="true"/>
</entity>
</domain-models>

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="talent" package="com.axelor.apps.talent.db"/>
<entity name="Training" lang="java" cacheable="true">
<string name="name" title="Name" required="true" />
<many-to-one name="category" ref="com.axelor.apps.talent.db.TrainingCategory" title="Category" />
<many-to-one name="company" ref="com.axelor.apps.base.db.Company" title="Company" />
<many-to-many name="skillSet" ref="com.axelor.apps.talent.db.Skill" title="Skill" />
<many-to-many name="requiredTrainingSet" ref="com.axelor.apps.talent.db.Training" title="Required training"/>
<string name="description" title="Description" large="true" />
<string name="program" title="Program" large="true" />
<string name="objectives" title="Objectives" large="true" />
<decimal name="duration" title="Number of hours" />
<boolean name="mandatoryTraining" title="Mandatory training"/>
<decimal name="rating" title="Rating" />
</entity>
</domain-models>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="talent" package="com.axelor.apps.talent.db"/>
<entity name="TrainingCategory" lang="java" cacheable="true">
<string name="name" title="Name" required="true" />
</entity>
</domain-models>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="talent" package="com.axelor.apps.talent.db"/>
<entity name="TrainingRegister" lang="java" cacheable="true">
<many-to-one name="trainingSession" ref="com.axelor.apps.talent.db.TrainingSession" title="Session"/>
<many-to-one name="training" ref="com.axelor.apps.talent.db.Training" title="Training" required="true"/>
<many-to-one name="employee" ref="com.axelor.apps.hr.db.Employee" title="Employee" required="true"/>
<datetime name="fromDate" title="From date" required="true"/>
<datetime name="toDate" title="To date" required="true"/>
<integer name="ratingSelect" title="Rating" selection="training.register.rating.select"/>
<integer name="statusSelect" title="Status" selection="training.register.status.select" />
<many-to-one name="calendar" ref="com.axelor.apps.base.db.ICalendar" title="Calendar"/>
<string name="fullName" namecolumn="true"/>
</entity>
</domain-models>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="talent" package="com.axelor.apps.talent.db"/>
<entity name="TrainingSession" lang="java" cacheable="true">
<integer name="statusSelect" title="Status" selection="training.session.status.select" default="1" />
<many-to-one name="training" ref="com.axelor.apps.talent.db.Training" title="Training" required="true" />
<datetime name="fromDate" title="From date" required="true" />
<datetime name="toDate" title="To date" required="true"/>
<integer name="nbrRegistered" title="Number of registredred to the session" />
<decimal name="duration" title="Number of hours" />
<decimal name="rating" title="Rating" />
<string name="fullName" title="Full name" namecolumn="true" />
<string name="location" title="Location" />
</entity>
</domain-models>

View File

@ -0,0 +1,198 @@
"key","message","comment","context"
"+10 years",,,
"0 %",,,
"0-2 years",,,
"10 %",,,
"100 %",,,
"2-5 years",,,
"20 %",,,
"30 %",,,
"40 %",,,
"5-10 years",,,
"50 %",,,
"60 %",,,
"70 %",,,
"80 %",,,
"90 %",,,
"<a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />",,,
"A new employee form will be created. Do you confirm the creation ?",,,
"Accept/plan",,,
"Address",,,
"All applications",,,
"All trainings",,,
"Application Information",,,
"Applications",,,
"Applied job",,,
"Appraisal",,,
"Appraisal cancelled",,,
"Appraisal draft",,,
"Appraisal filters",,,
"Appraisal realized",,,
"Appraisal sent",,,
"Appraisal template",,,
"Appraisal templates",,,
"Appraisal type",,,
"Appraisal types",,,
"Appraisals",,,
"Appreciation",,,
"Availability from",,,
"Business sectors",,,
"Cadre",,,
"Calendar",,,
"Cancel",,,
"Canceled",,,
"Cancelled",,,
"Categories",,,
"Category",,,
"Close",,,
"Close session",,,
"Closed",,,
"Closed job offers",,,
"Code",,,
"Company",,,
"Completed",,,
"Completed trainings of all employees of a team",,,
"Configuration",,,
"Contact",,,
"Contact details",,,
"Contract",,,
"Contract type",,,
"Create",,,
"Create Appraisal(Select Employees)",,,
"Create Appraisals",,,
"Create Appraisals(Select Employees)",,,
"Create a job application",,,
"Current applications",,,
"Current job offers",,,
"Dashboard",,,
"Date of application",,,
"Deadline",,,
"Department",,,
"Description",,,
"Draft",,,
"Education level",,,
"Email",,,
"Employee",,,
"Employee hired",,,
"Employee registred",,,
"Employees",,,
"Events",,,
"Expected salary",,,
"Experience",,,
"Experience skills",,,
"Fax",,,
"First name",,,
"Fixed phone",,,
"From",,,
"From date",,,
"Full name",,,
"Hire",,,
"Hired",,,
"Hiring Stage",,,
"Hiring stage",,,
"Invalid dates. From date must be before to date.",,,
"Is template",,,
"Job Application",,,
"Job Application Filters",,,
"Job Offer Information",,,
"Job Position Filters",,,
"Job application",,,
"Job applications",,,
"Job description",,,
"Job email",,,
"Job position",,,
"Job positions",,,
"Job reference",,,
"Job title",,,
"Last email sync id",,,
"Last name",,,
"Level of education",,,
"LinkedIn profile",,,
"Location",,,
"Mandatory training",,,
"Mobile phone",,,
"Month",,,
"My completed appraisals",,,
"My completed trainings",,,
"My traning filters",,,
"My upcoming appraisal",,,
"My upcoming trainings",,,
"Name",,,
"Nb Employee",,,
"Nb Hours",,,
"Nb of open jobs",,,
"Nb of people hired",,,
"Nb of training hours per month",,,
"Nb. hours per category",,,
"Nb. hours per training",,,
"Nb. of trained employee per category",,,
"New appraisal",,,
"Number of hours",,,
"Number of registredred to the session",,,
"Objectives",,,
"On hold",,,
"Open",,,
"Opened",,,
"Other skills",,,
"Photo",,,
"Planned",,,
"Position Status",,,
"Primary Address",,,
"Profile wanted",,,
"Program",,,
"Proposed salary",,,
"Publication Date",,,
"Rating",,,
"Realize",,,
"Reason not hired",,,
"Recruitment",,,
"Referred by",,,
"Register training",,,
"Rejected",,,
"Requested",,,
"Required training",,,
"Responsible",,,
"Reviewer",,,
"Salary",,,
"Schedule Event",,,
"Send",,,
"Sent",,,
"Sequence",,,
"Session",,,
"Skill",,,
"Skills",,,
"Skills tag",,,
"Source",,,
"Starting date",,,
"Status",,,
"Tag skill",,,
"Tag skills",,,
"Technicien",,,
"Title",,,
"To",,,
"To date",,,
"Tools",,,
"Total",,,
"Training",,,
"Training Categories",,,
"Training Category",,,
"Training Register",,,
"Training completed",,,
"Training dashboard",,,
"Training dates must be under training session date range.",,,
"Training per category",,,
"Training register",,,
"Training registers",,,
"Training session",,,
"Training sessions",,,
"Training skills",,,
"Trainings",,,
"Type of appraisal",,,
"Upcoming appraisal",,,
"Upcoming appraisals of all employees of a team",,,
"Upcoming trainings of all employees of a team",,,
"Work experience",,,
"user@mydomain.com",,,
"value:Appraisal",,,
"value:Recruitment",,,
"value:Training",,,
1 key message comment context
2 +10 years
3 0 %
4 0-2 years
5 10 %
6 100 %
7 2-5 years
8 20 %
9 30 %
10 40 %
11 5-10 years
12 50 %
13 60 %
14 70 %
15 80 %
16 90 %
17 <a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />
18 A new employee form will be created. Do you confirm the creation ?
19 Accept/plan
20 Address
21 All applications
22 All trainings
23 Application Information
24 Applications
25 Applied job
26 Appraisal
27 Appraisal cancelled
28 Appraisal draft
29 Appraisal filters
30 Appraisal realized
31 Appraisal sent
32 Appraisal template
33 Appraisal templates
34 Appraisal type
35 Appraisal types
36 Appraisals
37 Appreciation
38 Availability from
39 Business sectors
40 Cadre
41 Calendar
42 Cancel
43 Canceled
44 Cancelled
45 Categories
46 Category
47 Close
48 Close session
49 Closed
50 Closed job offers
51 Code
52 Company
53 Completed
54 Completed trainings of all employees of a team
55 Configuration
56 Contact
57 Contact details
58 Contract
59 Contract type
60 Create
61 Create Appraisal(Select Employees)
62 Create Appraisals
63 Create Appraisals(Select Employees)
64 Create a job application
65 Current applications
66 Current job offers
67 Dashboard
68 Date of application
69 Deadline
70 Department
71 Description
72 Draft
73 Education level
74 Email
75 Employee
76 Employee hired
77 Employee registred
78 Employees
79 Events
80 Expected salary
81 Experience
82 Experience skills
83 Fax
84 First name
85 Fixed phone
86 From
87 From date
88 Full name
89 Hire
90 Hired
91 Hiring Stage
92 Hiring stage
93 Invalid dates. From date must be before to date.
94 Is template
95 Job Application
96 Job Application Filters
97 Job Offer Information
98 Job Position Filters
99 Job application
100 Job applications
101 Job description
102 Job email
103 Job position
104 Job positions
105 Job reference
106 Job title
107 Last email sync id
108 Last name
109 Level of education
110 LinkedIn profile
111 Location
112 Mandatory training
113 Mobile phone
114 Month
115 My completed appraisals
116 My completed trainings
117 My traning filters
118 My upcoming appraisal
119 My upcoming trainings
120 Name
121 Nb Employee
122 Nb Hours
123 Nb of open jobs
124 Nb of people hired
125 Nb of training hours per month
126 Nb. hours per category
127 Nb. hours per training
128 Nb. of trained employee per category
129 New appraisal
130 Number of hours
131 Number of registredred to the session
132 Objectives
133 On hold
134 Open
135 Opened
136 Other skills
137 Photo
138 Planned
139 Position Status
140 Primary Address
141 Profile wanted
142 Program
143 Proposed salary
144 Publication Date
145 Rating
146 Realize
147 Reason not hired
148 Recruitment
149 Referred by
150 Register training
151 Rejected
152 Requested
153 Required training
154 Responsible
155 Reviewer
156 Salary
157 Schedule Event
158 Send
159 Sent
160 Sequence
161 Session
162 Skill
163 Skills
164 Skills tag
165 Source
166 Starting date
167 Status
168 Tag skill
169 Tag skills
170 Technicien
171 Title
172 To
173 To date
174 Tools
175 Total
176 Training
177 Training Categories
178 Training Category
179 Training Register
180 Training completed
181 Training dashboard
182 Training dates must be under training session date range.
183 Training per category
184 Training register
185 Training registers
186 Training session
187 Training sessions
188 Training skills
189 Trainings
190 Type of appraisal
191 Upcoming appraisal
192 Upcoming appraisals of all employees of a team
193 Upcoming trainings of all employees of a team
194 Work experience
195 user@mydomain.com
196 value:Appraisal
197 value:Recruitment
198 value:Training

View File

@ -0,0 +1,198 @@
"key","message","comment","context"
"+10 years","+10 Jahre",,
"0 %",,,
"0-2 years","0-2 Jahre",,
"10 %",,,
"100 %",,,
"2-5 years","2-5 Jahre",,
"20 %",,,
"30 %",,,
"40 %",,,
"5-10 years","5-10 Jahre",,
"50 %",,,
"60 %",,,
"70 %",,,
"80 %",,,
"90 %",,,
"<a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />","<a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />",,
"A new employee form will be created. Do you confirm the creation ?","Es wird ein neues Mitarbeiterformular erstellt. Bestätigen Sie die Erstellung?",,
"Accept/plan","Akzeptieren/Planen",,
"Address","Adresse",,
"All applications","Alle Anwendungen",,
"All trainings","Alle Schulungen",,
"Application Information","Anwendungsinformationen",,
"Applications",,,
"Applied job","Angewandter Job",,
"Appraisal","Bewertung",,
"Appraisal cancelled","Beurteilung abgebrochen",,
"Appraisal draft","Entwurf des Gutachtens",,
"Appraisal filters","Beurteilungsfilter",,
"Appraisal realized","Bewertung durchgeführt",,
"Appraisal sent","Beurteilung gesendet",,
"Appraisal template","Beurteilungsformular",,
"Appraisal templates","Beurteilungsvorlagen",,
"Appraisal type","Beurteilungsart",,
"Appraisal types","Beurteilungsarten",,
"Appraisals","Gutachten",,
"Appreciation","Wertschätzung",,
"Availability from","Verfügbarkeit ab",,
"Business sectors","Unternehmensbereiche",,
"Cadre","Kader",,
"Calendar",,,
"Cancel","Abbrechen",,
"Canceled","Abgesagt",,
"Cancelled","Storniert",,
"Categories","Kategorien",,
"Category","Kategorie",,
"Close",,,
"Close session","Sitzung schließen",,
"Closed","Geschlossen",,
"Closed job offers",,,
"Code","Code",,
"Company","Unternehmen",,
"Completed","Abgeschlossen",,
"Completed trainings of all employees of a team","Abgeschlossene Schulungen aller Mitarbeiter eines Teams",,
"Configuration","Konfiguration",,
"Contact","Kontakt",,
"Contact details","Kontaktdaten",,
"Contract","Vertrag",,
"Contract type","Vertragsart",,
"Create","Erstellen",,
"Create Appraisal(Select Employees)","Beurteilung anlegen (Mitarbeiter auswählen)",,
"Create Appraisals","Beurteilungen anlegen",,
"Create Appraisals(Select Employees)","Beurteilungen erstellen (Mitarbeiter auswählen)",,
"Create a job application","Erstellen einer Bewerbung",,
"Current applications",,,
"Current job offers",,,
"Dashboard","Dashboard",,
"Date of application","Datum der Anwendung",,
"Deadline","Deadline",,
"Department","Abteilung",,
"Description","Beschreibung",,
"Draft","Entwurf",,
"Education level","Bildungsniveau",,
"Email","E-Mail",,
"Employee","Mitarbeiter",,
"Employee hired","Angestellter eingestellt",,
"Employee registred","Registrierter Mitarbeiter",,
"Employees","Mitarbeiter",,
"Events","Events",,
"Expected salary","Gehaltsvorstellung",,
"Experience","Erfahrung",,
"Experience skills","Erleben Sie Fähigkeiten",,
"Fax","Fax",,
"First name","Vorname",,
"Fixed phone","Festnetztelefon",,
"From","Von",,
"From date","Von-Datum",,
"Full name","Vollständiger Name",,
"Hire","Mieten",,
"Hired","Angeheuert",,
"Hiring Stage","Einstellungsphase",,
"Hiring stage","Einstellungsphase",,
"Invalid dates. From date must be before to date.","Ungültige Daten. Das Von-Datum muss vor dem Datum liegen.",,
"Is template","Ist Vorlage",,
"Job Application","Stellenbewerbung",,
"Job Application Filters",,,
"Job Offer Information","Informationen zum Stellenangebot",,
"Job Position Filters",,,
"Job application","Stellenbewerbung",,
"Job applications","Stellenbewerbungen",,
"Job description","Stellenbeschreibung",,
"Job email","Job-E-Mail",,
"Job position","Stellenangebot",,
"Job positions","Stellenangebote",,
"Job reference","Arbeitszeugnis",,
"Job title","Berufsbezeichnung",,
"Last email sync id","Letzte E-Mail-Synchronisierungs-ID",,
"Last name","Nachname",,
"Level of education","Bildungsniveau",,
"LinkedIn profile","LinkedIn-Profil",,
"Location","Ort",,
"Mandatory training","Obligatorisches Training",,
"Mobile phone","Handy",,
"Month","Monat",,
"My completed appraisals","Meine abgeschlossenen Gutachten",,
"My completed trainings","Meine abgeschlossenen Schulungen",,
"My traning filters","Meine Trainingsfilter",,
"My upcoming appraisal","Meine bevorstehende Begutachtung",,
"My upcoming trainings","Meine bevorstehenden Schulungen",,
"Name","Name",,
"Nb Employee","Nb Mitarbeiter",,
"Nb Hours","Nb Stunden",,
"Nb of open jobs","Anzahl der offenen Stellen",,
"Nb of people hired","Anzahl der eingestellten Personen",,
"Nb of training hours per month","Anzahl der Trainingsstunden pro Monat",,
"Nb. hours per category","Anzahl der Stunden pro Kategorie",,
"Nb. hours per training","Anzahl der Stunden pro Training",,
"Nb. of trained employee per category","Anzahl der geschulten Mitarbeiter pro Kategorie",,
"New appraisal","Neues Gutachten",,
"Number of hours","Anzahl der Stunden",,
"Number of registredred to the session","Anzahl der für die Sitzung angemeldeten Personen",,
"Objectives","Ziele",,
"On hold","In der Warteschleife",,
"Open","Offen",,
"Opened","Geöffnet",,
"Other skills","Sonstige Fähigkeiten",,
"Photo","Foto",,
"Planned","Geplant",,
"Position Status","Positionsstatus",,
"Primary Address","Primäre Adresse",,
"Profile wanted","Profil gesucht",,
"Program","Programm",,
"Proposed salary","Gehaltsvorstellung",,
"Publication Date","Veröffentlichungsdatum",,
"Rating","Bewertung",,
"Realize","Verwirklichen",,
"Reason not hired","Grund nicht eingestellt",,
"Recruitment","Rekrutierung",,
"Referred by","Verwiesen von",,
"Register training","Registrieren Sie die Schulung",,
"Rejected","Abgelehnt",,
"Requested","Angefordert",,
"Required training","Erforderliche Schulung",,
"Responsible","Verantwortlich",,
"Reviewer","Prüfer",,
"Salary","Gehalt",,
"Schedule Event","Veranstaltung planen",,
"Send","Senden",,
"Sent","Gesendet",,
"Sequence","Sequenz",,
"Session","Sitzung",,
"Skill","Fertigkeiten",,
"Skills","Fähigkeiten",,
"Skills tag","Skills-Tag",,
"Source","Quelle",,
"Starting date","Startdatum",,
"Status","Status",,
"Tag skill","Tag-Fähigkeit",,
"Tag skills","Tag-Fähigkeiten",,
"Technicien","Techniker",,
"Title","Titel",,
"To","An",,
"To date","Bis heute",,
"Tools","Werkzeuge",,
"Total","Gesamt",,
"Training","Training",,
"Training Categories","Trainingskategorien",,
"Training Category","Trainingskategorie",,
"Training Register","Schulungsregister",,
"Training completed","Ausbildung abgeschlossen",,
"Training dashboard","Dashboard für Schulungen",,
"Training dates must be under training session date range.","Die Schulungstermine müssen im Zeitraum der Schulung liegen.",,
"Training per category","Training pro Kategorie",,
"Training register","Schulungsregister",,
"Training registers","Trainingsregister",,
"Training session","Trainingseinheit",,
"Training sessions","Trainingseinheiten",,
"Training skills","Trainingsfähigkeiten",,
"Trainings","Schulungen",,
"Type of appraisal","Art der Beurteilung",,
"Upcoming appraisal","Bevorstehende Bewertung",,
"Upcoming appraisals of all employees of a team","Bevorstehende Beurteilungen aller Mitarbeiter eines Teams",,
"Upcoming trainings of all employees of a team","Bevorstehende Schulungen aller Mitarbeiter eines Teams",,
"Work experience","Berufserfahrung",,
"user@mydomain.com",,,
"value:Appraisal","Wert:Bewertung",,
"value:Recruitment","Wert:Rekrutierung",,
"value:Training","Wert:Training",,
1 key message comment context
2 +10 years +10 Jahre
3 0 %
4 0-2 years 0-2 Jahre
5 10 %
6 100 %
7 2-5 years 2-5 Jahre
8 20 %
9 30 %
10 40 %
11 5-10 years 5-10 Jahre
12 50 %
13 60 %
14 70 %
15 80 %
16 90 %
17 <a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' /> <a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />
18 A new employee form will be created. Do you confirm the creation ? Es wird ein neues Mitarbeiterformular erstellt. Bestätigen Sie die Erstellung?
19 Accept/plan Akzeptieren/Planen
20 Address Adresse
21 All applications Alle Anwendungen
22 All trainings Alle Schulungen
23 Application Information Anwendungsinformationen
24 Applications
25 Applied job Angewandter Job
26 Appraisal Bewertung
27 Appraisal cancelled Beurteilung abgebrochen
28 Appraisal draft Entwurf des Gutachtens
29 Appraisal filters Beurteilungsfilter
30 Appraisal realized Bewertung durchgeführt
31 Appraisal sent Beurteilung gesendet
32 Appraisal template Beurteilungsformular
33 Appraisal templates Beurteilungsvorlagen
34 Appraisal type Beurteilungsart
35 Appraisal types Beurteilungsarten
36 Appraisals Gutachten
37 Appreciation Wertschätzung
38 Availability from Verfügbarkeit ab
39 Business sectors Unternehmensbereiche
40 Cadre Kader
41 Calendar
42 Cancel Abbrechen
43 Canceled Abgesagt
44 Cancelled Storniert
45 Categories Kategorien
46 Category Kategorie
47 Close
48 Close session Sitzung schließen
49 Closed Geschlossen
50 Closed job offers
51 Code Code
52 Company Unternehmen
53 Completed Abgeschlossen
54 Completed trainings of all employees of a team Abgeschlossene Schulungen aller Mitarbeiter eines Teams
55 Configuration Konfiguration
56 Contact Kontakt
57 Contact details Kontaktdaten
58 Contract Vertrag
59 Contract type Vertragsart
60 Create Erstellen
61 Create Appraisal(Select Employees) Beurteilung anlegen (Mitarbeiter auswählen)
62 Create Appraisals Beurteilungen anlegen
63 Create Appraisals(Select Employees) Beurteilungen erstellen (Mitarbeiter auswählen)
64 Create a job application Erstellen einer Bewerbung
65 Current applications
66 Current job offers
67 Dashboard Dashboard
68 Date of application Datum der Anwendung
69 Deadline Deadline
70 Department Abteilung
71 Description Beschreibung
72 Draft Entwurf
73 Education level Bildungsniveau
74 Email E-Mail
75 Employee Mitarbeiter
76 Employee hired Angestellter eingestellt
77 Employee registred Registrierter Mitarbeiter
78 Employees Mitarbeiter
79 Events Events
80 Expected salary Gehaltsvorstellung
81 Experience Erfahrung
82 Experience skills Erleben Sie Fähigkeiten
83 Fax Fax
84 First name Vorname
85 Fixed phone Festnetztelefon
86 From Von
87 From date Von-Datum
88 Full name Vollständiger Name
89 Hire Mieten
90 Hired Angeheuert
91 Hiring Stage Einstellungsphase
92 Hiring stage Einstellungsphase
93 Invalid dates. From date must be before to date. Ungültige Daten. Das Von-Datum muss vor dem Datum liegen.
94 Is template Ist Vorlage
95 Job Application Stellenbewerbung
96 Job Application Filters
97 Job Offer Information Informationen zum Stellenangebot
98 Job Position Filters
99 Job application Stellenbewerbung
100 Job applications Stellenbewerbungen
101 Job description Stellenbeschreibung
102 Job email Job-E-Mail
103 Job position Stellenangebot
104 Job positions Stellenangebote
105 Job reference Arbeitszeugnis
106 Job title Berufsbezeichnung
107 Last email sync id Letzte E-Mail-Synchronisierungs-ID
108 Last name Nachname
109 Level of education Bildungsniveau
110 LinkedIn profile LinkedIn-Profil
111 Location Ort
112 Mandatory training Obligatorisches Training
113 Mobile phone Handy
114 Month Monat
115 My completed appraisals Meine abgeschlossenen Gutachten
116 My completed trainings Meine abgeschlossenen Schulungen
117 My traning filters Meine Trainingsfilter
118 My upcoming appraisal Meine bevorstehende Begutachtung
119 My upcoming trainings Meine bevorstehenden Schulungen
120 Name Name
121 Nb Employee Nb Mitarbeiter
122 Nb Hours Nb Stunden
123 Nb of open jobs Anzahl der offenen Stellen
124 Nb of people hired Anzahl der eingestellten Personen
125 Nb of training hours per month Anzahl der Trainingsstunden pro Monat
126 Nb. hours per category Anzahl der Stunden pro Kategorie
127 Nb. hours per training Anzahl der Stunden pro Training
128 Nb. of trained employee per category Anzahl der geschulten Mitarbeiter pro Kategorie
129 New appraisal Neues Gutachten
130 Number of hours Anzahl der Stunden
131 Number of registredred to the session Anzahl der für die Sitzung angemeldeten Personen
132 Objectives Ziele
133 On hold In der Warteschleife
134 Open Offen
135 Opened Geöffnet
136 Other skills Sonstige Fähigkeiten
137 Photo Foto
138 Planned Geplant
139 Position Status Positionsstatus
140 Primary Address Primäre Adresse
141 Profile wanted Profil gesucht
142 Program Programm
143 Proposed salary Gehaltsvorstellung
144 Publication Date Veröffentlichungsdatum
145 Rating Bewertung
146 Realize Verwirklichen
147 Reason not hired Grund nicht eingestellt
148 Recruitment Rekrutierung
149 Referred by Verwiesen von
150 Register training Registrieren Sie die Schulung
151 Rejected Abgelehnt
152 Requested Angefordert
153 Required training Erforderliche Schulung
154 Responsible Verantwortlich
155 Reviewer Prüfer
156 Salary Gehalt
157 Schedule Event Veranstaltung planen
158 Send Senden
159 Sent Gesendet
160 Sequence Sequenz
161 Session Sitzung
162 Skill Fertigkeiten
163 Skills Fähigkeiten
164 Skills tag Skills-Tag
165 Source Quelle
166 Starting date Startdatum
167 Status Status
168 Tag skill Tag-Fähigkeit
169 Tag skills Tag-Fähigkeiten
170 Technicien Techniker
171 Title Titel
172 To An
173 To date Bis heute
174 Tools Werkzeuge
175 Total Gesamt
176 Training Training
177 Training Categories Trainingskategorien
178 Training Category Trainingskategorie
179 Training Register Schulungsregister
180 Training completed Ausbildung abgeschlossen
181 Training dashboard Dashboard für Schulungen
182 Training dates must be under training session date range. Die Schulungstermine müssen im Zeitraum der Schulung liegen.
183 Training per category Training pro Kategorie
184 Training register Schulungsregister
185 Training registers Trainingsregister
186 Training session Trainingseinheit
187 Training sessions Trainingseinheiten
188 Training skills Trainingsfähigkeiten
189 Trainings Schulungen
190 Type of appraisal Art der Beurteilung
191 Upcoming appraisal Bevorstehende Bewertung
192 Upcoming appraisals of all employees of a team Bevorstehende Beurteilungen aller Mitarbeiter eines Teams
193 Upcoming trainings of all employees of a team Bevorstehende Schulungen aller Mitarbeiter eines Teams
194 Work experience Berufserfahrung
195 user@mydomain.com
196 value:Appraisal Wert:Bewertung
197 value:Recruitment Wert:Rekrutierung
198 value:Training Wert:Training

View File

@ -0,0 +1,198 @@
"key","message","comment","context"
"+10 years",,,
"0 %",,,
"0-2 years",,,
"10 %",,,
"100 %",,,
"2-5 years",,,
"20 %",,,
"30 %",,,
"40 %",,,
"5-10 years",,,
"50 %",,,
"60 %",,,
"70 %",,,
"80 %",,,
"90 %",,,
"<a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />",,,
"A new employee form will be created. Do you confirm the creation ?",,,
"Accept/plan",,,
"Address",,,
"All applications",,,
"All trainings",,,
"Application Information",,,
"Applications",,,
"Applied job",,,
"Appraisal",,,
"Appraisal cancelled",,,
"Appraisal draft",,,
"Appraisal filters",,,
"Appraisal realized",,,
"Appraisal sent",,,
"Appraisal template",,,
"Appraisal templates",,,
"Appraisal type",,,
"Appraisal types",,,
"Appraisals",,,
"Appreciation",,,
"Availability from",,,
"Business sectors",,,
"Cadre",,,
"Calendar",,,
"Cancel",,,
"Canceled",,,
"Cancelled",,,
"Categories",,,
"Category",,,
"Close",,,
"Close session",,,
"Closed",,,
"Closed job offers",,,
"Code",,,
"Company",,,
"Completed",,,
"Completed trainings of all employees of a team",,,
"Configuration",,,
"Contact",,,
"Contact details",,,
"Contract",,,
"Contract type",,,
"Create",,,
"Create Appraisal(Select Employees)",,,
"Create Appraisals",,,
"Create Appraisals(Select Employees)",,,
"Create a job application",,,
"Current applications",,,
"Current job offers",,,
"Dashboard",,,
"Date of application",,,
"Deadline",,,
"Department",,,
"Description",,,
"Draft",,,
"Education level",,,
"Email",,,
"Employee",,,
"Employee hired",,,
"Employee registred",,,
"Employees",,,
"Events",,,
"Expected salary",,,
"Experience",,,
"Experience skills",,,
"Fax",,,
"First name",,,
"Fixed phone",,,
"From",,,
"From date",,,
"Full name",,,
"Hire",,,
"Hired",,,
"Hiring Stage",,,
"Hiring stage",,,
"Invalid dates. From date must be before to date.",,,
"Is template",,,
"Job Application",,,
"Job Application Filters",,,
"Job Offer Information",,,
"Job Position Filters",,,
"Job application",,,
"Job applications",,,
"Job description",,,
"Job email",,,
"Job position",,,
"Job positions",,,
"Job reference",,,
"Job title",,,
"Last email sync id",,,
"Last name",,,
"Level of education",,,
"LinkedIn profile",,,
"Location",,,
"Mandatory training",,,
"Mobile phone",,,
"Month",,,
"My completed appraisals",,,
"My completed trainings",,,
"My traning filters",,,
"My upcoming appraisal",,,
"My upcoming trainings",,,
"Name",,,
"Nb Employee",,,
"Nb Hours",,,
"Nb of open jobs",,,
"Nb of people hired",,,
"Nb of training hours per month",,,
"Nb. hours per category",,,
"Nb. hours per training",,,
"Nb. of trained employee per category",,,
"New appraisal",,,
"Number of hours",,,
"Number of registredred to the session",,,
"Objectives",,,
"On hold",,,
"Open",,,
"Opened",,,
"Other skills",,,
"Photo",,,
"Planned",,,
"Position Status",,,
"Primary Address",,,
"Profile wanted",,,
"Program",,,
"Proposed salary",,,
"Publication Date",,,
"Rating",,,
"Realize",,,
"Reason not hired",,,
"Recruitment",,,
"Referred by",,,
"Register training",,,
"Rejected",,,
"Requested",,,
"Required training",,,
"Responsible",,,
"Reviewer",,,
"Salary",,,
"Schedule Event",,,
"Send",,,
"Sent",,,
"Sequence",,,
"Session",,,
"Skill",,,
"Skills",,,
"Skills tag",,,
"Source",,,
"Starting date",,,
"Status",,,
"Tag skill",,,
"Tag skills",,,
"Technicien",,,
"Title",,,
"To",,,
"To date",,,
"Tools",,,
"Total",,,
"Training",,,
"Training Categories",,,
"Training Category",,,
"Training Register",,,
"Training completed",,,
"Training dashboard",,,
"Training dates must be under training session date range.",,,
"Training per category",,,
"Training register",,,
"Training registers",,,
"Training session",,,
"Training sessions",,,
"Training skills",,,
"Trainings",,,
"Type of appraisal",,,
"Upcoming appraisal",,,
"Upcoming appraisals of all employees of a team",,,
"Upcoming trainings of all employees of a team",,,
"Work experience",,,
"user@mydomain.com",,,
"value:Appraisal",,,
"value:Recruitment",,,
"value:Training",,,
1 key message comment context
2 +10 years
3 0 %
4 0-2 years
5 10 %
6 100 %
7 2-5 years
8 20 %
9 30 %
10 40 %
11 5-10 years
12 50 %
13 60 %
14 70 %
15 80 %
16 90 %
17 <a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />
18 A new employee form will be created. Do you confirm the creation ?
19 Accept/plan
20 Address
21 All applications
22 All trainings
23 Application Information
24 Applications
25 Applied job
26 Appraisal
27 Appraisal cancelled
28 Appraisal draft
29 Appraisal filters
30 Appraisal realized
31 Appraisal sent
32 Appraisal template
33 Appraisal templates
34 Appraisal type
35 Appraisal types
36 Appraisals
37 Appreciation
38 Availability from
39 Business sectors
40 Cadre
41 Calendar
42 Cancel
43 Canceled
44 Cancelled
45 Categories
46 Category
47 Close
48 Close session
49 Closed
50 Closed job offers
51 Code
52 Company
53 Completed
54 Completed trainings of all employees of a team
55 Configuration
56 Contact
57 Contact details
58 Contract
59 Contract type
60 Create
61 Create Appraisal(Select Employees)
62 Create Appraisals
63 Create Appraisals(Select Employees)
64 Create a job application
65 Current applications
66 Current job offers
67 Dashboard
68 Date of application
69 Deadline
70 Department
71 Description
72 Draft
73 Education level
74 Email
75 Employee
76 Employee hired
77 Employee registred
78 Employees
79 Events
80 Expected salary
81 Experience
82 Experience skills
83 Fax
84 First name
85 Fixed phone
86 From
87 From date
88 Full name
89 Hire
90 Hired
91 Hiring Stage
92 Hiring stage
93 Invalid dates. From date must be before to date.
94 Is template
95 Job Application
96 Job Application Filters
97 Job Offer Information
98 Job Position Filters
99 Job application
100 Job applications
101 Job description
102 Job email
103 Job position
104 Job positions
105 Job reference
106 Job title
107 Last email sync id
108 Last name
109 Level of education
110 LinkedIn profile
111 Location
112 Mandatory training
113 Mobile phone
114 Month
115 My completed appraisals
116 My completed trainings
117 My traning filters
118 My upcoming appraisal
119 My upcoming trainings
120 Name
121 Nb Employee
122 Nb Hours
123 Nb of open jobs
124 Nb of people hired
125 Nb of training hours per month
126 Nb. hours per category
127 Nb. hours per training
128 Nb. of trained employee per category
129 New appraisal
130 Number of hours
131 Number of registredred to the session
132 Objectives
133 On hold
134 Open
135 Opened
136 Other skills
137 Photo
138 Planned
139 Position Status
140 Primary Address
141 Profile wanted
142 Program
143 Proposed salary
144 Publication Date
145 Rating
146 Realize
147 Reason not hired
148 Recruitment
149 Referred by
150 Register training
151 Rejected
152 Requested
153 Required training
154 Responsible
155 Reviewer
156 Salary
157 Schedule Event
158 Send
159 Sent
160 Sequence
161 Session
162 Skill
163 Skills
164 Skills tag
165 Source
166 Starting date
167 Status
168 Tag skill
169 Tag skills
170 Technicien
171 Title
172 To
173 To date
174 Tools
175 Total
176 Training
177 Training Categories
178 Training Category
179 Training Register
180 Training completed
181 Training dashboard
182 Training dates must be under training session date range.
183 Training per category
184 Training register
185 Training registers
186 Training session
187 Training sessions
188 Training skills
189 Trainings
190 Type of appraisal
191 Upcoming appraisal
192 Upcoming appraisals of all employees of a team
193 Upcoming trainings of all employees of a team
194 Work experience
195 user@mydomain.com
196 value:Appraisal
197 value:Recruitment
198 value:Training

View File

@ -0,0 +1,198 @@
"key","message","comment","context"
"+10 years","+10 años",,
"0 %",,,
"0-2 years","0-2 años",,
"10 %",,,
"100 %",,,
"2-5 years","2-5 años",,
"20 %",,,
"30 %",,,
"40 %",,,
"5-10 years","5-10 años",,
"50 %",,,
"60 %",,,
"70 %",,,
"80 %",,,
"90 %",,,
"<a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />","<a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />",,
"A new employee form will be created. Do you confirm the creation ?","Se creará un nuevo formulario de empleado. ¿Confirma la creación?",,
"Accept/plan","Aceptar/planificar",,
"Address","Dirección",,
"All applications","Todas las aplicaciones",,
"All trainings","Todos los entrenamientos",,
"Application Information","Información sobre la solicitud",,
"Applications",,,
"Applied job","Trabajo solicitado",,
"Appraisal","Apreciación",,
"Appraisal cancelled","Calificación cancelada",,
"Appraisal draft","Borrador de calificación",,
"Appraisal filters","Filtros de calificación",,
"Appraisal realized","Valoración realizada",,
"Appraisal sent","Peritaje enviado",,
"Appraisal template","Modelo de calificación",,
"Appraisal templates","Modelos de calificación",,
"Appraisal type","Clase de calificación",,
"Appraisal types","Clases de calificación",,
"Appraisals","Calificaciones",,
"Appreciation","Apreciación",,
"Availability from","Disponibilidad desde",,
"Business sectors","Sectores de actividad",,
"Cadre","Cuadro",,
"Calendar",,,
"Cancel","Cancelar",,
"Canceled","Cancelado",,
"Cancelled","Cancelado",,
"Categories","Categorías",,
"Category","Categoría",,
"Close",,,
"Close session","Cerrar sesión",,
"Closed","Cerrado",,
"Closed job offers",,,
"Code","Código",,
"Company","Empresa",,
"Completed","Concluido",,
"Completed trainings of all employees of a team","Formación completa de todos los empleados de un equipo",,
"Configuration","Configuración",,
"Contact","Contacto",,
"Contact details","Datos de contacto",,
"Contract","Contrato",,
"Contract type","Tipo de contrato",,
"Create","Crear",,
"Create Appraisal(Select Employees)","Crear calificación (Seleccionar empleados)",,
"Create Appraisals","Crear calificaciones",,
"Create Appraisals(Select Employees)","Crear calificaciones (Seleccionar empleados)",,
"Create a job application","Crear una solicitud de empleo",,
"Current applications",,,
"Current job offers",,,
"Dashboard","Tablero de mandos",,
"Date of application","Fecha de aplicación",,
"Deadline","Fecha límite",,
"Department","Departamento",,
"Description","Descripción",,
"Draft","Proyecto de",,
"Education level","Nivel de educación",,
"Email","Correo electrónico",,
"Employee","Empleado",,
"Employee hired","Empleado contratado",,
"Employee registred","Empleado registrado",,
"Employees","Empleados",,
"Events","Eventos",,
"Expected salary","Sueldo esperado",,
"Experience","Experiencia",,
"Experience skills","Habilidades de experiencia",,
"Fax","Fax",,
"First name","Nombre de pila",,
"Fixed phone","Teléfono fijo",,
"From","Desde",,
"From date","Desde la fecha",,
"Full name","Nombre completo",,
"Hire","Contratar",,
"Hired","Contratado",,
"Hiring Stage","Etapa de contratación",,
"Hiring stage","Etapa de contratación",,
"Invalid dates. From date must be before to date.","Fechas no válidas. Desde la fecha debe ser anterior a la fecha.",,
"Is template","Es plantilla",,
"Job Application","Solicitud de empleo",,
"Job Application Filters",,,
"Job Offer Information","Información sobre la oferta de trabajo",,
"Job Position Filters",,,
"Job application","Solicitud de empleo",,
"Job applications","Solicitudes de empleo",,
"Job description","Descripción del puesto",,
"Job email","Correo electrónico del trabajo",,
"Job position","Puesto de trabajo",,
"Job positions","Puestos de trabajo",,
"Job reference","Referencia del trabajo",,
"Job title","Título del puesto",,
"Last email sync id","Último ID de sincronización de correo electrónico",,
"Last name","Apellido",,
"Level of education","Nivel de educación",,
"LinkedIn profile","Perfil de LinkedIn",,
"Location","Ubicación",,
"Mandatory training","Formación obligatoria",,
"Mobile phone","Teléfono móvil",,
"Month","Mes",,
"My completed appraisals","Mis tasaciones completadas",,
"My completed trainings","Mis entrenamientos completados",,
"My traning filters","Mis filtros de entrenamiento",,
"My upcoming appraisal","Mi próxima evaluación",,
"My upcoming trainings","Mis próximos entrenamientos",,
"Name","Nombre",,
"Nb Employee","N.B. Empleado",,
"Nb Hours","Nb Horas",,
"Nb of open jobs","Número de puestos vacantes",,
"Nb of people hired","Número de personas contratadas",,
"Nb of training hours per month","Número de horas de formación al mes",,
"Nb. hours per category","Nb. horas por categoría",,
"Nb. hours per training","Nb. horas por formación",,
"Nb. of trained employee per category","Nº de empleados formados por categoría",,
"New appraisal","Nueva calificación",,
"Number of hours","Cantidad de horas",,
"Number of registredred to the session","Número de inscritos a la sesión",,
"Objectives","Objetivos",,
"On hold","En espera",,
"Open","Abrir",,
"Opened","Abierto",,
"Other skills","Otras habilidades",,
"Photo","Foto",,
"Planned","Planeado",,
"Position Status","Posición Estado",,
"Primary Address","Dirección principal",,
"Profile wanted","Se busca perfil",,
"Program","Programa",,
"Proposed salary","Sueldo propuesto",,
"Publication Date","Fecha de publicación",,
"Rating","Calificación",,
"Realize","Darse cuenta",,
"Reason not hired","Motivo no contratado",,
"Recruitment","Contratación de personal",,
"Referred by","Referido por",,
"Register training","Registro de la formación",,
"Rejected","Rechazado",,
"Requested","Solicitado",,
"Required training","Formación necesaria",,
"Responsible","Responsable",,
"Reviewer","Revisor",,
"Salary","Salario",,
"Schedule Event","Programar Evento",,
"Send","Enviar",,
"Sent","Enviado",,
"Sequence","Secuencia",,
"Session","Sesión",,
"Skill","Habilidad",,
"Skills","Habilidades",,
"Skills tag","Etiqueta de habilidades",,
"Source","Fuente",,
"Starting date","Fecha de inicio",,
"Status","Estado",,
"Tag skill","Etiquetar habilidad",,
"Tag skills","Etiquetar habilidades",,
"Technicien","Técnicos",,
"Title","Título",,
"To","Para",,
"To date","Hasta la fecha",,
"Tools","Herramientas",,
"Total","Total",,
"Training","Entrenamiento",,
"Training Categories","Categorías de formación",,
"Training Category","Categoría de formación",,
"Training Register","Registro de formación",,
"Training completed","Formación completada",,
"Training dashboard","Cuadro de mando de la formación",,
"Training dates must be under training session date range.","Las fechas de entrenamiento deben estar dentro del rango de fechas de las sesiones de entrenamiento.",,
"Training per category","Formación por categoría",,
"Training register","Registro de formación",,
"Training registers","Registros de formación",,
"Training session","Sesión de formación",,
"Training sessions","Sesiones de formación",,
"Training skills","Habilidades de formación",,
"Trainings","Entrenamientos",,
"Type of appraisal","Clase de calificación",,
"Upcoming appraisal","Próxima evaluación",,
"Upcoming appraisals of all employees of a team","Próximas evaluaciones de todos los empleados de un equipo",,
"Upcoming trainings of all employees of a team","Próximos entrenamientos de todos los empleados de un equipo",,
"Work experience","Experiencia laboral",,
"user@mydomain.com",,,
"value:Appraisal","valor:Tasación",,
"value:Recruitment","value:Contratación de personal",,
"value:Training","value:Formación",,
1 key message comment context
2 +10 years +10 años
3 0 %
4 0-2 years 0-2 años
5 10 %
6 100 %
7 2-5 years 2-5 años
8 20 %
9 30 %
10 40 %
11 5-10 years 5-10 años
12 50 %
13 60 %
14 70 %
15 80 %
16 90 %
17 <a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' /> <a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />
18 A new employee form will be created. Do you confirm the creation ? Se creará un nuevo formulario de empleado. ¿Confirma la creación?
19 Accept/plan Aceptar/planificar
20 Address Dirección
21 All applications Todas las aplicaciones
22 All trainings Todos los entrenamientos
23 Application Information Información sobre la solicitud
24 Applications
25 Applied job Trabajo solicitado
26 Appraisal Apreciación
27 Appraisal cancelled Calificación cancelada
28 Appraisal draft Borrador de calificación
29 Appraisal filters Filtros de calificación
30 Appraisal realized Valoración realizada
31 Appraisal sent Peritaje enviado
32 Appraisal template Modelo de calificación
33 Appraisal templates Modelos de calificación
34 Appraisal type Clase de calificación
35 Appraisal types Clases de calificación
36 Appraisals Calificaciones
37 Appreciation Apreciación
38 Availability from Disponibilidad desde
39 Business sectors Sectores de actividad
40 Cadre Cuadro
41 Calendar
42 Cancel Cancelar
43 Canceled Cancelado
44 Cancelled Cancelado
45 Categories Categorías
46 Category Categoría
47 Close
48 Close session Cerrar sesión
49 Closed Cerrado
50 Closed job offers
51 Code Código
52 Company Empresa
53 Completed Concluido
54 Completed trainings of all employees of a team Formación completa de todos los empleados de un equipo
55 Configuration Configuración
56 Contact Contacto
57 Contact details Datos de contacto
58 Contract Contrato
59 Contract type Tipo de contrato
60 Create Crear
61 Create Appraisal(Select Employees) Crear calificación (Seleccionar empleados)
62 Create Appraisals Crear calificaciones
63 Create Appraisals(Select Employees) Crear calificaciones (Seleccionar empleados)
64 Create a job application Crear una solicitud de empleo
65 Current applications
66 Current job offers
67 Dashboard Tablero de mandos
68 Date of application Fecha de aplicación
69 Deadline Fecha límite
70 Department Departamento
71 Description Descripción
72 Draft Proyecto de
73 Education level Nivel de educación
74 Email Correo electrónico
75 Employee Empleado
76 Employee hired Empleado contratado
77 Employee registred Empleado registrado
78 Employees Empleados
79 Events Eventos
80 Expected salary Sueldo esperado
81 Experience Experiencia
82 Experience skills Habilidades de experiencia
83 Fax Fax
84 First name Nombre de pila
85 Fixed phone Teléfono fijo
86 From Desde
87 From date Desde la fecha
88 Full name Nombre completo
89 Hire Contratar
90 Hired Contratado
91 Hiring Stage Etapa de contratación
92 Hiring stage Etapa de contratación
93 Invalid dates. From date must be before to date. Fechas no válidas. Desde la fecha debe ser anterior a la fecha.
94 Is template Es plantilla
95 Job Application Solicitud de empleo
96 Job Application Filters
97 Job Offer Information Información sobre la oferta de trabajo
98 Job Position Filters
99 Job application Solicitud de empleo
100 Job applications Solicitudes de empleo
101 Job description Descripción del puesto
102 Job email Correo electrónico del trabajo
103 Job position Puesto de trabajo
104 Job positions Puestos de trabajo
105 Job reference Referencia del trabajo
106 Job title Título del puesto
107 Last email sync id Último ID de sincronización de correo electrónico
108 Last name Apellido
109 Level of education Nivel de educación
110 LinkedIn profile Perfil de LinkedIn
111 Location Ubicación
112 Mandatory training Formación obligatoria
113 Mobile phone Teléfono móvil
114 Month Mes
115 My completed appraisals Mis tasaciones completadas
116 My completed trainings Mis entrenamientos completados
117 My traning filters Mis filtros de entrenamiento
118 My upcoming appraisal Mi próxima evaluación
119 My upcoming trainings Mis próximos entrenamientos
120 Name Nombre
121 Nb Employee N.B. Empleado
122 Nb Hours Nb Horas
123 Nb of open jobs Número de puestos vacantes
124 Nb of people hired Número de personas contratadas
125 Nb of training hours per month Número de horas de formación al mes
126 Nb. hours per category Nb. horas por categoría
127 Nb. hours per training Nb. horas por formación
128 Nb. of trained employee per category Nº de empleados formados por categoría
129 New appraisal Nueva calificación
130 Number of hours Cantidad de horas
131 Number of registredred to the session Número de inscritos a la sesión
132 Objectives Objetivos
133 On hold En espera
134 Open Abrir
135 Opened Abierto
136 Other skills Otras habilidades
137 Photo Foto
138 Planned Planeado
139 Position Status Posición Estado
140 Primary Address Dirección principal
141 Profile wanted Se busca perfil
142 Program Programa
143 Proposed salary Sueldo propuesto
144 Publication Date Fecha de publicación
145 Rating Calificación
146 Realize Darse cuenta
147 Reason not hired Motivo no contratado
148 Recruitment Contratación de personal
149 Referred by Referido por
150 Register training Registro de la formación
151 Rejected Rechazado
152 Requested Solicitado
153 Required training Formación necesaria
154 Responsible Responsable
155 Reviewer Revisor
156 Salary Salario
157 Schedule Event Programar Evento
158 Send Enviar
159 Sent Enviado
160 Sequence Secuencia
161 Session Sesión
162 Skill Habilidad
163 Skills Habilidades
164 Skills tag Etiqueta de habilidades
165 Source Fuente
166 Starting date Fecha de inicio
167 Status Estado
168 Tag skill Etiquetar habilidad
169 Tag skills Etiquetar habilidades
170 Technicien Técnicos
171 Title Título
172 To Para
173 To date Hasta la fecha
174 Tools Herramientas
175 Total Total
176 Training Entrenamiento
177 Training Categories Categorías de formación
178 Training Category Categoría de formación
179 Training Register Registro de formación
180 Training completed Formación completada
181 Training dashboard Cuadro de mando de la formación
182 Training dates must be under training session date range. Las fechas de entrenamiento deben estar dentro del rango de fechas de las sesiones de entrenamiento.
183 Training per category Formación por categoría
184 Training register Registro de formación
185 Training registers Registros de formación
186 Training session Sesión de formación
187 Training sessions Sesiones de formación
188 Training skills Habilidades de formación
189 Trainings Entrenamientos
190 Type of appraisal Clase de calificación
191 Upcoming appraisal Próxima evaluación
192 Upcoming appraisals of all employees of a team Próximas evaluaciones de todos los empleados de un equipo
193 Upcoming trainings of all employees of a team Próximos entrenamientos de todos los empleados de un equipo
194 Work experience Experiencia laboral
195 user@mydomain.com
196 value:Appraisal valor:Tasación
197 value:Recruitment value:Contratación de personal
198 value:Training value:Formación

View File

@ -0,0 +1,198 @@
"key","message","comment","context"
"+10 years",,,
"0 %",,,
"0-2 years",,,
"10 %",,,
"100 %",,,
"2-5 years",,,
"20 %",,,
"30 %",,,
"40 %",,,
"5-10 years",,,
"50 %",,,
"60 %",,,
"70 %",,,
"80 %",,,
"90 %",,,
"<a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />",,,
"A new employee form will be created. Do you confirm the creation ?","Une nouvelle fiche employé va être créée. Confirmez-vous la création ?",,
"Accept/plan","Accepter/planifier",,
"Address",,,
"All applications","Toutes les candidatures",,
"All trainings","Toutes les formations",,
"Application Information","Information de la candidature",,
"Applications","Candidature",,
"Applied job","Offre d'emploi",,
"Appraisal","Évaluation",,
"Appraisal cancelled",,,
"Appraisal draft",,,
"Appraisal filters",,,
"Appraisal realized",,,
"Appraisal sent",,,
"Appraisal template","Modèle d'évaluation",,
"Appraisal templates","Modèles d'évaluations",,
"Appraisal type","Type d'évaluation",,
"Appraisal types","Type d'évaluations",,
"Appraisals","Evaluations",,
"Appreciation","Appréciation",,
"Availability from","Disponibilité",,
"Business sectors","Secteurs d'activité",,
"Cadre",,,
"Calendar",,,
"Cancel","Annuler",,
"Canceled","Annulé",,
"Cancelled",,,
"Categories","Catégories","Training's categories (for ex. Technical, functional trainings...)",
"Category","Catégorie",,
"Close","Fermer",,
"Close session","Fermer la session",,
"Closed",,,
"Closed job offers","Offres d'emplois fermées",,
"Code",,,
"Company","Société",,
"Completed","Réalisé",,
"Completed trainings of all employees of a team","Les évaluations terminées de mon équipe",,
"Configuration","Configuration",,
"Contact",,,
"Contact details","Coordonnées",,
"Contract","Contrat",,
"Contract type","Type de contrat",,
"Create","Créer",,
"Create Appraisal(Select Employees)",,,
"Create Appraisals","Créer les évaluations",,
"Create Appraisals(Select Employees)","Créer évaluations (Sélectionner les employés)",,
"Create a job application","Créer une candidature",,
"Current applications","Candidatures en cours",,
"Current job offers","Offres d'emploi en cours",,
"Dashboard",,,
"Date of application","Date de la candidature",,
"Deadline",,,
"Department","Département",,
"Description","Description",,
"Draft",,,
"Education level",,,
"Email",,,
"Employee","Employé",,
"Employee hired","Employé embauché",,
"Employee registred","Personnes inscrites",,
"Employees",,,
"Events",,,
"Expected salary","Salaire souhaité",,
"Experience","Expérience",,
"Experience skills","Compétences profesionnelles",,
"Fax",,,
"First name",,,
"Fixed phone",,,
"From","De",,
"From date","Date de début",,
"Full name",,,
"Hire","Embauché",,
"Hired","Embauché(e)",,
"Hiring Stage","Etape de recrutement",,
"Hiring stage","Etape de recrutement",,
"Invalid dates. From date must be before to date.",,,
"Is template",,,
"Job Application",,,
"Job Application Filters",,,
"Job Offer Information","Informations de l'offre d'emploi",,
"Job Position Filters",,,
"Job application","Candidature",,
"Job applications",,,
"Job description","Description de l'offre",,
"Job email","Email de réponse à l'offre d'emploi",,
"Job position","Offre d'emploi",,
"Job positions","Offres d'emplois",,
"Job reference","Référence de l'offre d'emploi",,
"Job title","Nom de l'offre",,
"Last email sync id",,,
"Last name",,,
"Level of education","Niveau de diplôme",,
"LinkedIn profile","LinkedIn",,
"Location","Emplacement",,
"Mandatory training","Formation obligatoire",,
"Mobile phone","N° Mobile",,
"Month",,,
"My completed appraisals","Mes évaluations terminées",,
"My completed trainings","Mes formations terminées",,
"My traning filters",,,
"My upcoming appraisal","Mes évaluations à venir",,
"My upcoming trainings","Mes formations à venir",,
"Name","Nom",,
"Nb Employee",,,
"Nb Hours",,,
"Nb of open jobs","Nb de postes ouverts",,
"Nb of people hired","Nb de personnes embauchées",,
"Nb of training hours per month","Nb d'heures de formation par mois",,
"Nb. hours per category","Nb d'heures par catégorie",,
"Nb. hours per training","Nb d'heures par formation",,
"Nb. of trained employee per category","Nb d'employés formés par catégorie",,
"New appraisal","Nouvelles évaluations",,
"Number of hours","Nombre d'heures",,
"Number of registredred to the session","Nombre d'inscrits à la session",,
"Objectives","Objectifs",,
"On hold","En attente",,
"Open","Ouvrir",,
"Opened",,,
"Other skills","Autres compétences",,
"Photo",,,
"Planned","Planifié",,
"Position Status","Statut du poste",,
"Primary Address","Adresse principale",,
"Profile wanted","Profil recherché",,
"Program","Programme",,
"Proposed salary","Salaire proposé",,
"Publication Date","Date de publication",,
"Rating","Note",,
"Realize",,,
"Reason not hired","Raison de non embauche",,
"Recruitment","Recrutement",,
"Referred by","Référent",,
"Register training","Inscription à la formation",,
"Rejected","Rejeté",,
"Requested","Demandé",,
"Required training","Formations requises",,
"Responsible","Responsable du recrutement",,
"Reviewer","Responsable de l'évaluation",,
"Salary","Salaire",,
"Schedule Event",,,
"Send","Envoyer",,
"Sent",,,
"Sequence",,,
"Session",,,
"Skill","Compétences",,
"Skills","Compétences",,
"Skills tag","Compétences",,
"Source","Provenance",,
"Starting date","Prise de poste",,
"Status","Statut",,
"Tag skill","Compétences",,
"Tag skills","Compétences",,
"Technicien",,,
"Title","Titre",,
"To","À",,
"To date","Date de fin",,
"Tools",,,
"Total",,,
"Training","Formations","Parent menu for training App (sub app)",
"Training Categories",,,
"Training Category",,,
"Training Register","Inscriptions aux formations",,
"Training completed","Formation réalisée",,
"Training dashboard","Tableau de bord de la formation",,
"Training dates must be under training session date range.",,,
"Training per category","Formations par catégories",,
"Training register","Inscription formation",,
"Training registers","Inscriptions aux formations",,
"Training session","Sessions de formation",,
"Training sessions","Sessions de formation",,
"Training skills","Compétences formations",,
"Trainings","Formations","To create trainings ""template"" with a name, a description, a program, skills... ",
"Type of appraisal","Type d'évaluation",,
"Upcoming appraisal","Evaluations à venir",,
"Upcoming appraisals of all employees of a team","Les évaluations à venir de mon équipe",,
"Upcoming trainings of all employees of a team","Les formations à venir de mon équipe",,
"Work experience","Expérience professionnelle",,
"user@mydomain.com",,,
"value:Appraisal","Évaluation",,
"value:Recruitment","Recrutement",,
"value:Training","Formations",,
1 key message comment context
2 +10 years
3 0 %
4 0-2 years
5 10 %
6 100 %
7 2-5 years
8 20 %
9 30 %
10 40 %
11 5-10 years
12 50 %
13 60 %
14 70 %
15 80 %
16 90 %
17 <a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />
18 A new employee form will be created. Do you confirm the creation ? Une nouvelle fiche employé va être créée. Confirmez-vous la création ?
19 Accept/plan Accepter/planifier
20 Address
21 All applications Toutes les candidatures
22 All trainings Toutes les formations
23 Application Information Information de la candidature
24 Applications Candidature
25 Applied job Offre d'emploi
26 Appraisal Évaluation
27 Appraisal cancelled
28 Appraisal draft
29 Appraisal filters
30 Appraisal realized
31 Appraisal sent
32 Appraisal template Modèle d'évaluation
33 Appraisal templates Modèles d'évaluations
34 Appraisal type Type d'évaluation
35 Appraisal types Type d'évaluations
36 Appraisals Evaluations
37 Appreciation Appréciation
38 Availability from Disponibilité
39 Business sectors Secteurs d'activité
40 Cadre
41 Calendar
42 Cancel Annuler
43 Canceled Annulé
44 Cancelled
45 Categories Catégories Training's categories (for ex. Technical, functional trainings...)
46 Category Catégorie
47 Close Fermer
48 Close session Fermer la session
49 Closed
50 Closed job offers Offres d'emplois fermées
51 Code
52 Company Société
53 Completed Réalisé
54 Completed trainings of all employees of a team Les évaluations terminées de mon équipe
55 Configuration Configuration
56 Contact
57 Contact details Coordonnées
58 Contract Contrat
59 Contract type Type de contrat
60 Create Créer
61 Create Appraisal(Select Employees)
62 Create Appraisals Créer les évaluations
63 Create Appraisals(Select Employees) Créer évaluations (Sélectionner les employés)
64 Create a job application Créer une candidature
65 Current applications Candidatures en cours
66 Current job offers Offres d'emploi en cours
67 Dashboard
68 Date of application Date de la candidature
69 Deadline
70 Department Département
71 Description Description
72 Draft
73 Education level
74 Email
75 Employee Employé
76 Employee hired Employé embauché
77 Employee registred Personnes inscrites
78 Employees
79 Events
80 Expected salary Salaire souhaité
81 Experience Expérience
82 Experience skills Compétences profesionnelles
83 Fax
84 First name
85 Fixed phone
86 From De
87 From date Date de début
88 Full name
89 Hire Embauché
90 Hired Embauché(e)
91 Hiring Stage Etape de recrutement
92 Hiring stage Etape de recrutement
93 Invalid dates. From date must be before to date.
94 Is template
95 Job Application
96 Job Application Filters
97 Job Offer Information Informations de l'offre d'emploi
98 Job Position Filters
99 Job application Candidature
100 Job applications
101 Job description Description de l'offre
102 Job email Email de réponse à l'offre d'emploi
103 Job position Offre d'emploi
104 Job positions Offres d'emplois
105 Job reference Référence de l'offre d'emploi
106 Job title Nom de l'offre
107 Last email sync id
108 Last name
109 Level of education Niveau de diplôme
110 LinkedIn profile LinkedIn
111 Location Emplacement
112 Mandatory training Formation obligatoire
113 Mobile phone N° Mobile
114 Month
115 My completed appraisals Mes évaluations terminées
116 My completed trainings Mes formations terminées
117 My traning filters
118 My upcoming appraisal Mes évaluations à venir
119 My upcoming trainings Mes formations à venir
120 Name Nom
121 Nb Employee
122 Nb Hours
123 Nb of open jobs Nb de postes ouverts
124 Nb of people hired Nb de personnes embauchées
125 Nb of training hours per month Nb d'heures de formation par mois
126 Nb. hours per category Nb d'heures par catégorie
127 Nb. hours per training Nb d'heures par formation
128 Nb. of trained employee per category Nb d'employés formés par catégorie
129 New appraisal Nouvelles évaluations
130 Number of hours Nombre d'heures
131 Number of registredred to the session Nombre d'inscrits à la session
132 Objectives Objectifs
133 On hold En attente
134 Open Ouvrir
135 Opened
136 Other skills Autres compétences
137 Photo
138 Planned Planifié
139 Position Status Statut du poste
140 Primary Address Adresse principale
141 Profile wanted Profil recherché
142 Program Programme
143 Proposed salary Salaire proposé
144 Publication Date Date de publication
145 Rating Note
146 Realize
147 Reason not hired Raison de non embauche
148 Recruitment Recrutement
149 Referred by Référent
150 Register training Inscription à la formation
151 Rejected Rejeté
152 Requested Demandé
153 Required training Formations requises
154 Responsible Responsable du recrutement
155 Reviewer Responsable de l'évaluation
156 Salary Salaire
157 Schedule Event
158 Send Envoyer
159 Sent
160 Sequence
161 Session
162 Skill Compétences
163 Skills Compétences
164 Skills tag Compétences
165 Source Provenance
166 Starting date Prise de poste
167 Status Statut
168 Tag skill Compétences
169 Tag skills Compétences
170 Technicien
171 Title Titre
172 To À
173 To date Date de fin
174 Tools
175 Total
176 Training Formations Parent menu for training App (sub app)
177 Training Categories
178 Training Category
179 Training Register Inscriptions aux formations
180 Training completed Formation réalisée
181 Training dashboard Tableau de bord de la formation
182 Training dates must be under training session date range.
183 Training per category Formations par catégories
184 Training register Inscription formation
185 Training registers Inscriptions aux formations
186 Training session Sessions de formation
187 Training sessions Sessions de formation
188 Training skills Compétences formations
189 Trainings Formations To create trainings "template" with a name, a description, a program, skills...
190 Type of appraisal Type d'évaluation
191 Upcoming appraisal Evaluations à venir
192 Upcoming appraisals of all employees of a team Les évaluations à venir de mon équipe
193 Upcoming trainings of all employees of a team Les formations à venir de mon équipe
194 Work experience Expérience professionnelle
195 user@mydomain.com
196 value:Appraisal Évaluation
197 value:Recruitment Recrutement
198 value:Training Formations

View File

@ -0,0 +1,198 @@
"key","message","comment","context"
"+10 years","+10 anni",,
"0 %",,,
"0-2 years","0-2 anni",,
"10 %",,,
"100 %",,,
"2-5 years","2-5 anni",,
"20 %",,,
"30 %",,,
"40 %",,,
"5-10 years","5-10 anni",,
"50 %",,,
"60 %",,,
"70 %",,,
"80 %",,,
"90 %",,,
"<a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />","<a class='fa fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />",,
"A new employee form will be created. Do you confirm the creation ?","Verrà creato un nuovo modulo per i dipendenti. Conferma la creazione ?",,
"Accept/plan","Accettare/pianificare",,
"Address","Indirizzo",,
"All applications","Tutte le applicazioni",,
"All trainings","Tutti i corsi di formazione",,
"Application Information","Informazioni sull'applicazione",,
"Applications",,,
"Applied job","Lavoro applicato",,
"Appraisal","Valutazione",,
"Appraisal cancelled","Valutazione annullata",,
"Appraisal draft","Bozza di valutazione",,
"Appraisal filters","Filtri di valutazione",,
"Appraisal realized","Valutazione realizzata",,
"Appraisal sent","Invio della valutazione",,
"Appraisal template","Modello di valutazione",,
"Appraisal templates","Modelli di valutazione",,
"Appraisal type","Tipo di valutazione",,
"Appraisal types","Tipi di valutazione",,
"Appraisals","Valutazioni",,
"Appreciation","Apprezzamento",,
"Availability from","Disponibilità da",,
"Business sectors","Settori",,
"Cadre","Quadri",,
"Calendar",,,
"Cancel","Annulla",,
"Canceled","Annullato",,
"Cancelled","Annullato",,
"Categories","Categorie",,
"Category","Categoria",,
"Close",,,
"Close session","Chiudi sessione",,
"Closed","Chiuso",,
"Closed job offers",,,
"Code","Codice",,
"Company","L'azienda",,
"Completed","Completato",,
"Completed trainings of all employees of a team","Formazione completa di tutti i dipendenti di una squadra",,
"Configuration","Configurazione",,
"Contact","Contatto",,
"Contact details","Dati di contatto",,
"Contract","Contratto",,
"Contract type","Tipo di contratto",,
"Create","Creare",,
"Create Appraisal(Select Employees)","Crea valutazione (Seleziona dipendenti)",,
"Create Appraisals","Creare valutazioni",,
"Create Appraisals(Select Employees)","Creare valutazioni (selezionare i dipendenti)",,
"Create a job application","Creare una domanda di lavoro",,
"Current applications",,,
"Current job offers",,,
"Dashboard","Cruscotto",,
"Date of application","Data di applicazione",,
"Deadline","Scadenza",,
"Department","Reparto",,
"Description","Descrizione",,
"Draft","Bozza",,
"Education level","Livello di istruzione",,
"Email","Email eMail",,
"Employee","Dipendente",,
"Employee hired","Dipendente assunto",,
"Employee registred","Dipendente registrato",,
"Employees","Dipendenti",,
"Events","Eventi",,
"Expected salary","Stipendio atteso",,
"Experience","L'esperienza",,
"Experience skills","Esperienza",,
"Fax","Fax",,
"First name","Nome",,
"Fixed phone","Telefono fisso",,
"From","Da",,
"From date","Dalla data",,
"Full name","Nome e cognome",,
"Hire","Noleggio",,
"Hired","Assunto",,
"Hiring Stage","Fase di assunzione",,
"Hiring stage","Fase di noleggio",,
"Invalid dates. From date must be before to date.","Date non valide. Dalla data deve essere anteriore alla data.",,
"Is template","È modello",,
"Job Application","Candidatura",,
"Job Application Filters",,,
"Job Offer Information","Informazioni sull'offerta di lavoro",,
"Job Position Filters",,,
"Job application","Domanda di lavoro",,
"Job applications","Domande di lavoro",,
"Job description","Descrizione del lavoro",,
"Job email","Email di lavoro",,
"Job position","Posizione",,
"Job positions","Posizioni",,
"Job reference","Riferimento di lavoro",,
"Job title","Titolo",,
"Last email sync id","ID di sincronizzazione dell'ultima e-mail",,
"Last name","Cognome",,
"Level of education","Livello di istruzione",,
"LinkedIn profile","Profilo LinkedIn",,
"Location","Posizione",,
"Mandatory training","Formazione obbligatoria",,
"Mobile phone","Telefono cellulare",,
"Month","Mese",,
"My completed appraisals","Le mie valutazioni completate",,
"My completed trainings","I miei corsi di formazione completati",,
"My traning filters","I miei filtri di traning",,
"My upcoming appraisal","La mia prossima valutazione",,
"My upcoming trainings","I miei prossimi allenamenti",,
"Name","Nome",,
"Nb Employee","Nb Dipendente",,
"Nb Hours","Nb Ore",,
"Nb of open jobs","Nb di posti di lavoro aperti",,
"Nb of people hired","Numero di persone assunte",,
"Nb of training hours per month","Nb di ore di formazione al mese",,
"Nb. hours per category","N. ore per categoria",,
"Nb. hours per training","Nb. ore per allenamento",,
"Nb. of trained employee per category","Numero di dipendenti formati per categoria",,
"New appraisal","Nuova valutazione",,
"Number of hours","Numero di ore",,
"Number of registredred to the session","Numero di iscritti alla sessione",,
"Objectives","Obiettivi",,
"On hold","In attesa",,
"Open","Aperto",,
"Opened","Aperto",,
"Other skills","Altre competenze",,
"Photo","Foto",,
"Planned","Pianificato",,
"Position Status","Posizione Stato",,
"Primary Address","Indirizzo primario",,
"Profile wanted","Profilo desiderato",,
"Program","Programma",,
"Proposed salary","Stipendio proposto",,
"Publication Date","Data di pubblicazione",,
"Rating","Valutazione",,
"Realize","Realizzare",,
"Reason not hired","Motivo non assunto",,
"Recruitment","Il reclutamento",,
"Referred by","Riferito da",,
"Register training","Registrare la formazione",,
"Rejected","Rifiutato",,
"Requested","Richiesto",,
"Required training","Formazione richiesta",,
"Responsible","Responsabile",,
"Reviewer","Revisore",,
"Salary","Stipendio",,
"Schedule Event","Pianificare l'evento",,
"Send","Inviare",,
"Sent","Inviato",,
"Sequence","Sequenza",,
"Session","Sessione",,
"Skill","Abilità",,
"Skills","Competenze",,
"Skills tag","Etichetta delle abilità",,
"Source","Fonte",,
"Starting date","Data di inizio",,
"Status","Stato",,
"Tag skill","Abilità dei tag",,
"Tag skills","Abilità dei tag",,
"Technicien","Tecnica",,
"Title","Titolo",,
"To","A",,
"To date","Ad oggi",,
"Tools","Strumenti",,
"Total","Totale",,
"Training","Formazione",,
"Training Categories","Categorie di formazione",,
"Training Category","Categoria di formazione",,
"Training Register","Registro della formazione",,
"Training completed","Formazione completata",,
"Training dashboard","Cruscotto di formazione",,
"Training dates must be under training session date range.","Le date di formazione devono essere nell'intervallo di date delle sessioni di formazione.",,
"Training per category","Formazione per categoria",,
"Training register","Registro della formazione",,
"Training registers","Registri della formazione",,
"Training session","Sessione di formazione",,
"Training sessions","Sessioni di formazione",,
"Training skills","Competenze formative",,
"Trainings","Formazione",,
"Type of appraisal","Tipo di valutazione",,
"Upcoming appraisal","Prossima valutazione",,
"Upcoming appraisals of all employees of a team","Prossime valutazioni di tutti i dipendenti di una squadra",,
"Upcoming trainings of all employees of a team","Prossimi corsi di formazione di tutti i dipendenti di una squadra",,
"Work experience","Esperienza lavorativa",,
"user@mydomain.com",,,
"value:Appraisal","valore:Valutazione",,
"value:Recruitment","valore:Reclutamento",,
"value:Training","valore:Formazione",,
1 key message comment context
2 +10 years +10 anni
3 0 %
4 0-2 years 0-2 anni
5 10 %
6 100 %
7 2-5 years 2-5 anni
8 20 %
9 30 %
10 40 %
11 5-10 years 5-10 anni
12 50 %
13 60 %
14 70 %
15 80 %
16 90 %
17 <a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' /> <a class='fa fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />
18 A new employee form will be created. Do you confirm the creation ? Verrà creato un nuovo modulo per i dipendenti. Conferma la creazione ?
19 Accept/plan Accettare/pianificare
20 Address Indirizzo
21 All applications Tutte le applicazioni
22 All trainings Tutti i corsi di formazione
23 Application Information Informazioni sull'applicazione
24 Applications
25 Applied job Lavoro applicato
26 Appraisal Valutazione
27 Appraisal cancelled Valutazione annullata
28 Appraisal draft Bozza di valutazione
29 Appraisal filters Filtri di valutazione
30 Appraisal realized Valutazione realizzata
31 Appraisal sent Invio della valutazione
32 Appraisal template Modello di valutazione
33 Appraisal templates Modelli di valutazione
34 Appraisal type Tipo di valutazione
35 Appraisal types Tipi di valutazione
36 Appraisals Valutazioni
37 Appreciation Apprezzamento
38 Availability from Disponibilità da
39 Business sectors Settori
40 Cadre Quadri
41 Calendar
42 Cancel Annulla
43 Canceled Annullato
44 Cancelled Annullato
45 Categories Categorie
46 Category Categoria
47 Close
48 Close session Chiudi sessione
49 Closed Chiuso
50 Closed job offers
51 Code Codice
52 Company L'azienda
53 Completed Completato
54 Completed trainings of all employees of a team Formazione completa di tutti i dipendenti di una squadra
55 Configuration Configurazione
56 Contact Contatto
57 Contact details Dati di contatto
58 Contract Contratto
59 Contract type Tipo di contratto
60 Create Creare
61 Create Appraisal(Select Employees) Crea valutazione (Seleziona dipendenti)
62 Create Appraisals Creare valutazioni
63 Create Appraisals(Select Employees) Creare valutazioni (selezionare i dipendenti)
64 Create a job application Creare una domanda di lavoro
65 Current applications
66 Current job offers
67 Dashboard Cruscotto
68 Date of application Data di applicazione
69 Deadline Scadenza
70 Department Reparto
71 Description Descrizione
72 Draft Bozza
73 Education level Livello di istruzione
74 Email Email eMail
75 Employee Dipendente
76 Employee hired Dipendente assunto
77 Employee registred Dipendente registrato
78 Employees Dipendenti
79 Events Eventi
80 Expected salary Stipendio atteso
81 Experience L'esperienza
82 Experience skills Esperienza
83 Fax Fax
84 First name Nome
85 Fixed phone Telefono fisso
86 From Da
87 From date Dalla data
88 Full name Nome e cognome
89 Hire Noleggio
90 Hired Assunto
91 Hiring Stage Fase di assunzione
92 Hiring stage Fase di noleggio
93 Invalid dates. From date must be before to date. Date non valide. Dalla data deve essere anteriore alla data.
94 Is template È modello
95 Job Application Candidatura
96 Job Application Filters
97 Job Offer Information Informazioni sull'offerta di lavoro
98 Job Position Filters
99 Job application Domanda di lavoro
100 Job applications Domande di lavoro
101 Job description Descrizione del lavoro
102 Job email Email di lavoro
103 Job position Posizione
104 Job positions Posizioni
105 Job reference Riferimento di lavoro
106 Job title Titolo
107 Last email sync id ID di sincronizzazione dell'ultima e-mail
108 Last name Cognome
109 Level of education Livello di istruzione
110 LinkedIn profile Profilo LinkedIn
111 Location Posizione
112 Mandatory training Formazione obbligatoria
113 Mobile phone Telefono cellulare
114 Month Mese
115 My completed appraisals Le mie valutazioni completate
116 My completed trainings I miei corsi di formazione completati
117 My traning filters I miei filtri di traning
118 My upcoming appraisal La mia prossima valutazione
119 My upcoming trainings I miei prossimi allenamenti
120 Name Nome
121 Nb Employee Nb Dipendente
122 Nb Hours Nb Ore
123 Nb of open jobs Nb di posti di lavoro aperti
124 Nb of people hired Numero di persone assunte
125 Nb of training hours per month Nb di ore di formazione al mese
126 Nb. hours per category N. ore per categoria
127 Nb. hours per training Nb. ore per allenamento
128 Nb. of trained employee per category Numero di dipendenti formati per categoria
129 New appraisal Nuova valutazione
130 Number of hours Numero di ore
131 Number of registredred to the session Numero di iscritti alla sessione
132 Objectives Obiettivi
133 On hold In attesa
134 Open Aperto
135 Opened Aperto
136 Other skills Altre competenze
137 Photo Foto
138 Planned Pianificato
139 Position Status Posizione Stato
140 Primary Address Indirizzo primario
141 Profile wanted Profilo desiderato
142 Program Programma
143 Proposed salary Stipendio proposto
144 Publication Date Data di pubblicazione
145 Rating Valutazione
146 Realize Realizzare
147 Reason not hired Motivo non assunto
148 Recruitment Il reclutamento
149 Referred by Riferito da
150 Register training Registrare la formazione
151 Rejected Rifiutato
152 Requested Richiesto
153 Required training Formazione richiesta
154 Responsible Responsabile
155 Reviewer Revisore
156 Salary Stipendio
157 Schedule Event Pianificare l'evento
158 Send Inviare
159 Sent Inviato
160 Sequence Sequenza
161 Session Sessione
162 Skill Abilità
163 Skills Competenze
164 Skills tag Etichetta delle abilità
165 Source Fonte
166 Starting date Data di inizio
167 Status Stato
168 Tag skill Abilità dei tag
169 Tag skills Abilità dei tag
170 Technicien Tecnica
171 Title Titolo
172 To A
173 To date Ad oggi
174 Tools Strumenti
175 Total Totale
176 Training Formazione
177 Training Categories Categorie di formazione
178 Training Category Categoria di formazione
179 Training Register Registro della formazione
180 Training completed Formazione completata
181 Training dashboard Cruscotto di formazione
182 Training dates must be under training session date range. Le date di formazione devono essere nell'intervallo di date delle sessioni di formazione.
183 Training per category Formazione per categoria
184 Training register Registro della formazione
185 Training registers Registri della formazione
186 Training session Sessione di formazione
187 Training sessions Sessioni di formazione
188 Training skills Competenze formative
189 Trainings Formazione
190 Type of appraisal Tipo di valutazione
191 Upcoming appraisal Prossima valutazione
192 Upcoming appraisals of all employees of a team Prossime valutazioni di tutti i dipendenti di una squadra
193 Upcoming trainings of all employees of a team Prossimi corsi di formazione di tutti i dipendenti di una squadra
194 Work experience Esperienza lavorativa
195 user@mydomain.com
196 value:Appraisal valore:Valutazione
197 value:Recruitment valore:Reclutamento
198 value:Training valore:Formazione

View File

@ -0,0 +1,198 @@
"key","message","comment","context"
"+10 years","+10 jaar",,
"0 %",,,
"0-2 years","0-2 jaar",,
"10 %",,,
"100 %",,,
"2-5 years","2-5 jaar",,
"20 %",,,
"30 %",,,
"40 %",,,
"5-10 years","5-10 jaar",,
"50 %",,,
"60 %",,,
"70 %",,,
"80 %",,,
"90 %",,,
"<a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />","<a class='fa-linkedin' href='http://www.linkedin.com' target='_blank' />",,
"A new employee form will be created. Do you confirm the creation ?","Er wordt een nieuw medewerkersformulier aangemaakt. Bevestigt u de creatie ?",,
"Accept/plan","Accepteer/plan",,
"Address","Adres",,
"All applications","Alle toepassingen",,
"All trainings","Alle opleidingen",,
"Application Information","Informatie over de toepassing",,
"Applications",,,
"Applied job","Toegepaste functie",,
"Appraisal","Beoordeling",,
"Appraisal cancelled","Beoordeling geannuleerd",,
"Appraisal draft","Beoordelingsontwerp",,
"Appraisal filters","Beoordelingsfilters",,
"Appraisal realized","Beoordeling gerealiseerd",,
"Appraisal sent","Beoordeling verzonden",,
"Appraisal template","Beoordelingssjabloon",,
"Appraisal templates","Beoordeling sjablonen",,
"Appraisal type","Beoordelingstype",,
"Appraisal types","Beoordelingstypes",,
"Appraisals","Taxaties",,
"Appreciation","Waardering",,
"Availability from","Beschikbaarheid van",,
"Business sectors","Bedrijfstakken",,
"Cadre","Kadaster",,
"Calendar",,,
"Cancel","Annuleren",,
"Canceled","Geannuleerd",,
"Cancelled","Geannuleerd",,
"Categories","Categorieën",,
"Category","Categorie",,
"Close",,,
"Close session","Sessie sluiten",,
"Closed","Gesloten",,
"Closed job offers",,,
"Code","Code",,
"Company","Bedrijf",,
"Completed","Voltooid",,
"Completed trainings of all employees of a team","Voltooide trainingen van alle medewerkers van een team",,
"Configuration","Configuratie",,
"Contact","Contact",,
"Contact details","Contactgegevens",,
"Contract","Contract",,
"Contract type","Soort contract",,
"Create","Creëer",,
"Create Appraisal(Select Employees)","Beoordeling maken (Selecteer medewerkers)",,
"Create Appraisals","Beoordelingen maken",,
"Create Appraisals(Select Employees)","Beoordelingen maken (Selecteer Medewerkers)",,
"Create a job application","Creëer een sollicitatie",,
"Current applications",,,
"Current job offers",,,
"Dashboard","Dashboard",,
"Date of application","Datum van toepassing",,
"Deadline","Uiterste datum",,
"Department","Afdeling",,
"Description","Beschrijving",,
"Draft","Ontwerp",,
"Education level","Opleidingsniveau",,
"Email","E-mail",,
"Employee","Werknemer",,
"Employee hired","Werknemer aangenomen",,
"Employee registred","Werknemer geregistreerd",,
"Employees","Medewerkers",,
"Events","Evenementen",,
"Expected salary","Verwacht salaris",,
"Experience","Ervaring",,
"Experience skills","Ervaring",,
"Fax","Fax",,
"First name","Voornaam",,
"Fixed phone","Vaste telefoon",,
"From","Van",,
"From date","Vanaf datum",,
"Full name","Volledige naam",,
"Hire","Verhuur",,
"Hired","Ingehuurd",,
"Hiring Stage","Verhuur Stadium",,
"Hiring stage","Verhuur fase",,
"Invalid dates. From date must be before to date.","Ongeldige data. Van datum moet voor tot datum zijn.",,
"Is template","Is sjabloon",,
"Job Application","Sollicitatie",,
"Job Application Filters",,,
"Job Offer Information","Vacature-informatie",,
"Job Position Filters",,,
"Job application","Sollicitatie",,
"Job applications","Sollicitaties",,
"Job description","Functiebeschrijving",,
"Job email","Vacature e-mail",,
"Job position","Functie",,
"Job positions","Vacatures",,
"Job reference","Functiebeschrijving",,
"Job title","Functie",,
"Last email sync id","Laatste e-mail sync-id",,
"Last name","Achternaam",,
"Level of education","Opleidingsniveau",,
"LinkedIn profile","LinkedIn profiel",,
"Location","Ligging",,
"Mandatory training","Verplichte opleiding",,
"Mobile phone","Mobiele telefoon",,
"Month","Maand",,
"My completed appraisals","Mijn ingevulde beoordelingen",,
"My completed trainings","Mijn afgeronde trainingen",,
"My traning filters","Mijn traning filters",,
"My upcoming appraisal","Mijn komende beoordeling",,
"My upcoming trainings","Mijn komende trainingen",,
"Name","Naam",,
"Nb Employee","Nb Werknemer",,
"Nb Hours","Aantal uren",,
"Nb of open jobs","Aantal openstaande banen",,
"Nb of people hired","Aantal ingehuurde personen",,
"Nb of training hours per month","Aantal opleidingsuren per maand",,
"Nb. hours per category","Aantal uren per categorie",,
"Nb. hours per training","Aantal uren per training",,
"Nb. of trained employee per category","Aantal opgeleide medewerkers per categorie",,
"New appraisal","Nieuwe beoordeling",,
"Number of hours","Aantal uren",,
"Number of registredred to the session","Aantal ingeschrevenen voor de sessie",,
"Objectives","Doelstellingen",,
"On hold","In de wachtstand",,
"Open","Open",,
"Opened","Geopend",,
"Other skills","Andere vaardigheden",,
"Photo","Foto",,
"Planned","Gepland",,
"Position Status","Positie Status",,
"Primary Address","Primair adres",,
"Profile wanted","Profiel gezocht",,
"Program","Programma",,
"Proposed salary","Voorgesteld salaris",,
"Publication Date","Publicatie Datum",,
"Rating","Waardering",,
"Realize","Realiseren",,
"Reason not hired","Reden niet gehuurd",,
"Recruitment","Rekrutering",,
"Referred by","Verwezen door",,
"Register training","Inschrijftraining",,
"Rejected","Afgewezen",,
"Requested","Gevraagd",,
"Required training","Vereiste opleiding",,
"Responsible","Verantwoordelijk",,
"Reviewer","Reviewer",,
"Salary","Salaris",,
"Schedule Event","Evenement plannen",,
"Send","Verzenden",,
"Sent","Verzonden",,
"Sequence","Volgorde",,
"Session","Sessie",,
"Skill","Behendigheid",,
"Skills","Vaardigheden",,
"Skills tag","Vaardigheden tag",,
"Source","Bron",,
"Starting date","Startdatum",,
"Status","Status",,
"Tag skill","Tag vaardigheid",,
"Tag skills","Tag vaardigheden",,
"Technicien","Technicien",,
"Title","Titel",,
"To","Naar",,
"To date","Tot op heden",,
"Tools","Gereedschap",,
"Total","Totaal",,
"Training","Opleiding",,
"Training Categories","Opleiding Categorieën",,
"Training Category","Categorie Opleiding",,
"Training Register","Opleidingsregister",,
"Training completed","Opleiding voltooid",,
"Training dashboard","Opleiding dashboard",,
"Training dates must be under training session date range.","Trainingsdata moeten binnen het bereik van de datum van de trainingssessie vallen.",,
"Training per category","Opleiding per categorie",,
"Training register","Opleidingsregister",,
"Training registers","Opleidingsregisters",,
"Training session","Opleidingssessie",,
"Training sessions","Opleidingen",,
"Training skills","Opleidingsvaardigheden",,
"Trainings","Opleidingen",,
"Type of appraisal","Soort beoordeling",,
"Upcoming appraisal","Komende beoordeling",,
"Upcoming appraisals of all employees of a team","Komende evaluaties van alle medewerkers van een team",,
"Upcoming trainings of all employees of a team","Komende trainingen van alle medewerkers van een team",,
"Work experience","Werkervaring",,
"user@mydomain.com",,,
"value:Appraisal","waarde: Beoordeling",,
"value:Recruitment","waarde: Rekrutering",,
"value:Training","waarde:Opleiding",,
1 key message comment context
2 +10 years +10 jaar
3 0 %
4 0-2 years 0-2 jaar
5 10 %
6 100 %
7 2-5 years 2-5 jaar
8 20 %
9 30 %
10 40 %
11 5-10 years 5-10 jaar
12 50 %
13 60 %
14 70 %
15 80 %
16 90 %
17 <a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' /> <a class='fa-linkedin' href='http://www.linkedin.com' target='_blank' />
18 A new employee form will be created. Do you confirm the creation ? Er wordt een nieuw medewerkersformulier aangemaakt. Bevestigt u de creatie ?
19 Accept/plan Accepteer/plan
20 Address Adres
21 All applications Alle toepassingen
22 All trainings Alle opleidingen
23 Application Information Informatie over de toepassing
24 Applications
25 Applied job Toegepaste functie
26 Appraisal Beoordeling
27 Appraisal cancelled Beoordeling geannuleerd
28 Appraisal draft Beoordelingsontwerp
29 Appraisal filters Beoordelingsfilters
30 Appraisal realized Beoordeling gerealiseerd
31 Appraisal sent Beoordeling verzonden
32 Appraisal template Beoordelingssjabloon
33 Appraisal templates Beoordeling sjablonen
34 Appraisal type Beoordelingstype
35 Appraisal types Beoordelingstypes
36 Appraisals Taxaties
37 Appreciation Waardering
38 Availability from Beschikbaarheid van
39 Business sectors Bedrijfstakken
40 Cadre Kadaster
41 Calendar
42 Cancel Annuleren
43 Canceled Geannuleerd
44 Cancelled Geannuleerd
45 Categories Categorieën
46 Category Categorie
47 Close
48 Close session Sessie sluiten
49 Closed Gesloten
50 Closed job offers
51 Code Code
52 Company Bedrijf
53 Completed Voltooid
54 Completed trainings of all employees of a team Voltooide trainingen van alle medewerkers van een team
55 Configuration Configuratie
56 Contact Contact
57 Contact details Contactgegevens
58 Contract Contract
59 Contract type Soort contract
60 Create Creëer
61 Create Appraisal(Select Employees) Beoordeling maken (Selecteer medewerkers)
62 Create Appraisals Beoordelingen maken
63 Create Appraisals(Select Employees) Beoordelingen maken (Selecteer Medewerkers)
64 Create a job application Creëer een sollicitatie
65 Current applications
66 Current job offers
67 Dashboard Dashboard
68 Date of application Datum van toepassing
69 Deadline Uiterste datum
70 Department Afdeling
71 Description Beschrijving
72 Draft Ontwerp
73 Education level Opleidingsniveau
74 Email E-mail
75 Employee Werknemer
76 Employee hired Werknemer aangenomen
77 Employee registred Werknemer geregistreerd
78 Employees Medewerkers
79 Events Evenementen
80 Expected salary Verwacht salaris
81 Experience Ervaring
82 Experience skills Ervaring
83 Fax Fax
84 First name Voornaam
85 Fixed phone Vaste telefoon
86 From Van
87 From date Vanaf datum
88 Full name Volledige naam
89 Hire Verhuur
90 Hired Ingehuurd
91 Hiring Stage Verhuur Stadium
92 Hiring stage Verhuur fase
93 Invalid dates. From date must be before to date. Ongeldige data. Van datum moet voor tot datum zijn.
94 Is template Is sjabloon
95 Job Application Sollicitatie
96 Job Application Filters
97 Job Offer Information Vacature-informatie
98 Job Position Filters
99 Job application Sollicitatie
100 Job applications Sollicitaties
101 Job description Functiebeschrijving
102 Job email Vacature e-mail
103 Job position Functie
104 Job positions Vacatures
105 Job reference Functiebeschrijving
106 Job title Functie
107 Last email sync id Laatste e-mail sync-id
108 Last name Achternaam
109 Level of education Opleidingsniveau
110 LinkedIn profile LinkedIn profiel
111 Location Ligging
112 Mandatory training Verplichte opleiding
113 Mobile phone Mobiele telefoon
114 Month Maand
115 My completed appraisals Mijn ingevulde beoordelingen
116 My completed trainings Mijn afgeronde trainingen
117 My traning filters Mijn traning filters
118 My upcoming appraisal Mijn komende beoordeling
119 My upcoming trainings Mijn komende trainingen
120 Name Naam
121 Nb Employee Nb Werknemer
122 Nb Hours Aantal uren
123 Nb of open jobs Aantal openstaande banen
124 Nb of people hired Aantal ingehuurde personen
125 Nb of training hours per month Aantal opleidingsuren per maand
126 Nb. hours per category Aantal uren per categorie
127 Nb. hours per training Aantal uren per training
128 Nb. of trained employee per category Aantal opgeleide medewerkers per categorie
129 New appraisal Nieuwe beoordeling
130 Number of hours Aantal uren
131 Number of registredred to the session Aantal ingeschrevenen voor de sessie
132 Objectives Doelstellingen
133 On hold In de wachtstand
134 Open Open
135 Opened Geopend
136 Other skills Andere vaardigheden
137 Photo Foto
138 Planned Gepland
139 Position Status Positie Status
140 Primary Address Primair adres
141 Profile wanted Profiel gezocht
142 Program Programma
143 Proposed salary Voorgesteld salaris
144 Publication Date Publicatie Datum
145 Rating Waardering
146 Realize Realiseren
147 Reason not hired Reden niet gehuurd
148 Recruitment Rekrutering
149 Referred by Verwezen door
150 Register training Inschrijftraining
151 Rejected Afgewezen
152 Requested Gevraagd
153 Required training Vereiste opleiding
154 Responsible Verantwoordelijk
155 Reviewer Reviewer
156 Salary Salaris
157 Schedule Event Evenement plannen
158 Send Verzenden
159 Sent Verzonden
160 Sequence Volgorde
161 Session Sessie
162 Skill Behendigheid
163 Skills Vaardigheden
164 Skills tag Vaardigheden tag
165 Source Bron
166 Starting date Startdatum
167 Status Status
168 Tag skill Tag vaardigheid
169 Tag skills Tag vaardigheden
170 Technicien Technicien
171 Title Titel
172 To Naar
173 To date Tot op heden
174 Tools Gereedschap
175 Total Totaal
176 Training Opleiding
177 Training Categories Opleiding Categorieën
178 Training Category Categorie Opleiding
179 Training Register Opleidingsregister
180 Training completed Opleiding voltooid
181 Training dashboard Opleiding dashboard
182 Training dates must be under training session date range. Trainingsdata moeten binnen het bereik van de datum van de trainingssessie vallen.
183 Training per category Opleiding per categorie
184 Training register Opleidingsregister
185 Training registers Opleidingsregisters
186 Training session Opleidingssessie
187 Training sessions Opleidingen
188 Training skills Opleidingsvaardigheden
189 Trainings Opleidingen
190 Type of appraisal Soort beoordeling
191 Upcoming appraisal Komende beoordeling
192 Upcoming appraisals of all employees of a team Komende evaluaties van alle medewerkers van een team
193 Upcoming trainings of all employees of a team Komende trainingen van alle medewerkers van een team
194 Work experience Werkervaring
195 user@mydomain.com
196 value:Appraisal waarde: Beoordeling
197 value:Recruitment waarde: Rekrutering
198 value:Training waarde:Opleiding

View File

@ -0,0 +1,198 @@
"key","message","comment","context"
"+10 years","+10 lat",,
"0 %",,,
"0-2 years","0-2 lat",,
"10 %",,,
"100 %",,,
"2-5 years","2-5 lat",,
"20 %",,,
"30 %",,,
"40 %",,,
"5-10 years","5-10 lat",,
"50 %",,,
"60 %",,,
"70 %",,,
"80 %",,,
"90 %",,,
"<a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />","<a class='fa-linkedin' href='http://www.linkedin.com' target='_blank' />",,
"A new employee form will be created. Do you confirm the creation ?","Zostanie utworzony nowy formularz pracowniczy. Czy potwierdzasz utworzenie?",,
"Accept/plan","Akceptacja/plan",,
"Address","Adres",,
"All applications","Wszystkie zastosowania",,
"All trainings","Wszystkie szkolenia",,
"Application Information","Informacje dotyczące aplikacji",,
"Applications",,,
"Applied job","Praca stosowana",,
"Appraisal","Ocena",,
"Appraisal cancelled","Wycena anulowana",,
"Appraisal draft","Projekt oceny",,
"Appraisal filters","Filtry oceniające",,
"Appraisal realized","Ocena zrealizowana",,
"Appraisal sent","Przesłana ocena",,
"Appraisal template","Wzór oceny",,
"Appraisal templates","Szablony oceny",,
"Appraisal type","Typ oceny",,
"Appraisal types","Rodzaje ocen",,
"Appraisals","Oceny",,
"Appreciation","Ocena",,
"Availability from","Dostępność od",,
"Business sectors","Sektory gospodarki",,
"Cadre","Kadr",,
"Calendar",,,
"Cancel","Anulowanie",,
"Canceled","Anulowany",,
"Cancelled","Anulowane",,
"Categories","Kategorie",,
"Category","Kategoria",,
"Close",,,
"Close session","Sesja zamknięta",,
"Closed","Zamknięta",,
"Closed job offers",,,
"Code","Kod",,
"Company","Firma",,
"Completed","Wypełnione",,
"Completed trainings of all employees of a team","Ukończone szkolenia wszystkich pracowników zespołu",,
"Configuration","Konfiguracja",,
"Contact","Kontakt",,
"Contact details","Dane kontaktowe",,
"Contract","Kontrakt",,
"Contract type","Rodzaj umowy",,
"Create","Utworzyć",,
"Create Appraisal(Select Employees)","Utwórz ocenę (wybierz pracowników)",,
"Create Appraisals","Tworzenie ocen",,
"Create Appraisals(Select Employees)","Tworzenie ocen (wybór pracowników)",,
"Create a job application","Utwórz podanie o pracę",,
"Current applications",,,
"Current job offers",,,
"Dashboard","Tablica rozdzielcza",,
"Date of application","Data rozpoczęcia stosowania",,
"Deadline","Ostateczny termin",,
"Department","Departament",,
"Description","Opis",,
"Draft","Wstępny projekt",,
"Education level","Poziom wykształcenia",,
"Email","Poczta elektroniczna",,
"Employee","Pracownik",,
"Employee hired","Zatrudniony pracownik",,
"Employee registred","Pracownik zarejestrowany",,
"Employees","Pracownicy",,
"Events","Wydarzenia",,
"Expected salary","Przewidywane wynagrodzenie",,
"Experience","Doświadczenie",,
"Experience skills","Doświadczenie zawodowe",,
"Fax","Faks",,
"First name","Imię i nazwisko",,
"Fixed phone","Telefon stacjonarny",,
"From","Od",,
"From date","Od daty",,
"Full name","Pełne imię i nazwisko",,
"Hire","Wynajem",,
"Hired","Wynajęty",,
"Hiring Stage","Etap wynajmu",,
"Hiring stage","Etap zatrudniania",,
"Invalid dates. From date must be before to date.","Nieważne daty. Od daty musi być wcześniejsza niż do daty.",,
"Is template","Czy szablon jest szablonowy?",,
"Job Application","Aplikacja pracy",,
"Job Application Filters",,,
"Job Offer Information","Informacje o ofercie pracy",,
"Job Position Filters",,,
"Job application","Aplikacja pracy",,
"Job applications","Zastosowania w pracy",,
"Job description","Opis stanowiska pracy",,
"Job email","Wiadomość e-mail z informacją o pracy",,
"Job position","Pozycja stanowiska pracy",,
"Job positions","Stanowiska pracy",,
"Job reference","Referencje do pracy",,
"Job title","Tytuł pracy",,
"Last email sync id","Ostatnia synchronizacja poczty elektronicznej",,
"Last name","Nazwisko",,
"Level of education","Poziom wykształcenia",,
"LinkedIn profile","Profil LinkedIn",,
"Location","Lokalizacja",,
"Mandatory training","Obowiązkowe szkolenie",,
"Mobile phone","Telefon komórkowy",,
"Month","Miesiąc",,
"My completed appraisals","Moje ukończone oceny",,
"My completed trainings","Moje ukończone szkolenia",,
"My traning filters","Moje filtry traningowe",,
"My upcoming appraisal","Moja nadchodząca ocena",,
"My upcoming trainings","Moje najbliższe szkolenia",,
"Name","Nazwa",,
"Nb Employee","Nb Pracownik",,
"Nb Hours","Godziny Nb",,
"Nb of open jobs","Nb otwartych miejsc pracy",,
"Nb of people hired","Liczba zatrudnionych osób",,
"Nb of training hours per month","Nb godzin szkoleniowych miesięcznie",,
"Nb. hours per category","Nb. godziny dla każdej kategorii",,
"Nb. hours per training","Nb. godzin na szkolenie",,
"Nb. of trained employee per category","Nb. wyszkolonego pracownika według kategorii",,
"New appraisal","Nowa ocena",,
"Number of hours","Liczba godzin",,
"Number of registredred to the session","Liczba zarejestrowanych uczestników sesji",,
"Objectives","Cele",,
"On hold","W stanie wstrzymania",,
"Open","Otwarte",,
"Opened","Otwarte",,
"Other skills","Inne umiejętności",,
"Photo","Zdjęcie",,
"Planned","Planowane",,
"Position Status","Położenie Status pozycji",,
"Primary Address","Adres podstawowy",,
"Profile wanted","Profil poszukiwany",,
"Program","Program",,
"Proposed salary","Proponowane wynagrodzenie",,
"Publication Date","Publikacja Data publikacji",,
"Rating","Klasyfikacja",,
"Realize","Zrozumieć",,
"Reason not hired","Powód nie zatrudniony",,
"Recruitment","Rekrutacja",,
"Referred by","Odsyłany przez",,
"Register training","Zarejestruj szkolenie",,
"Rejected","Odrzucony",,
"Requested","Wnioskowany",,
"Required training","Wymagane szkolenie",,
"Responsible","Odpowiedzialny",,
"Reviewer","Recenzent",,
"Salary","Wynagrodzenie",,
"Schedule Event","Harmonogram zdarzeń",,
"Send","Wyślij",,
"Sent","Wysłane",,
"Sequence","Kolejność",,
"Session","Sesja",,
"Skill","Umiejętności",,
"Skills","Umiejętności",,
"Skills tag","Znacznik umiejętności",,
"Source","Źródło: Opracowanie własne.",,
"Starting date","Data początkowa",,
"Status","Status",,
"Tag skill","Umiejętności oznaczania",,
"Tag skills","Umiejętności oznaczania",,
"Technicien","Technika",,
"Title","Tytuł",,
"To","Do",,
"To date","Do dnia dzisiejszego",,
"Tools","Narzędzia",,
"Total","Ogółem",,
"Training","Szkolenia",,
"Training Categories","Kategorie szkoleń",,
"Training Category","Kategoria szkolenia",,
"Training Register","Rejestr szkoleń",,
"Training completed","Ukończone szkolenie",,
"Training dashboard","Szkoleniowa deska rozdzielcza",,
"Training dates must be under training session date range.","Daty szkoleń muszą być podane w zakresie dat sesji szkoleniowych.",,
"Training per category","Szkolenie według kategorii",,
"Training register","Rejestr szkoleń",,
"Training registers","Rejestry szkoleń",,
"Training session","Sesja szkoleniowa",,
"Training sessions","Sesje szkoleniowe",,
"Training skills","Umiejętności szkoleniowe",,
"Trainings","Szkolenia",,
"Type of appraisal","Rodzaj oceny",,
"Upcoming appraisal","Zbliżająca się ocena",,
"Upcoming appraisals of all employees of a team","Zbliżające się oceny wszystkich pracowników zespołu",,
"Upcoming trainings of all employees of a team","Nadchodzące szkolenia wszystkich pracowników zespołu",,
"Work experience","Doświadczenie zawodowe",,
"user@mydomain.com",,,
"value:Appraisal","wartość: ocena",,
"value:Recruitment","wartość: Rekrutacja",,
"value:Training","wartość: Szkolenie",,
1 key message comment context
2 +10 years +10 lat
3 0 %
4 0-2 years 0-2 lat
5 10 %
6 100 %
7 2-5 years 2-5 lat
8 20 %
9 30 %
10 40 %
11 5-10 years 5-10 lat
12 50 %
13 60 %
14 70 %
15 80 %
16 90 %
17 <a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' /> <a class='fa-linkedin' href='http://www.linkedin.com' target='_blank' />
18 A new employee form will be created. Do you confirm the creation ? Zostanie utworzony nowy formularz pracowniczy. Czy potwierdzasz utworzenie?
19 Accept/plan Akceptacja/plan
20 Address Adres
21 All applications Wszystkie zastosowania
22 All trainings Wszystkie szkolenia
23 Application Information Informacje dotyczące aplikacji
24 Applications
25 Applied job Praca stosowana
26 Appraisal Ocena
27 Appraisal cancelled Wycena anulowana
28 Appraisal draft Projekt oceny
29 Appraisal filters Filtry oceniające
30 Appraisal realized Ocena zrealizowana
31 Appraisal sent Przesłana ocena
32 Appraisal template Wzór oceny
33 Appraisal templates Szablony oceny
34 Appraisal type Typ oceny
35 Appraisal types Rodzaje ocen
36 Appraisals Oceny
37 Appreciation Ocena
38 Availability from Dostępność od
39 Business sectors Sektory gospodarki
40 Cadre Kadr
41 Calendar
42 Cancel Anulowanie
43 Canceled Anulowany
44 Cancelled Anulowane
45 Categories Kategorie
46 Category Kategoria
47 Close
48 Close session Sesja zamknięta
49 Closed Zamknięta
50 Closed job offers
51 Code Kod
52 Company Firma
53 Completed Wypełnione
54 Completed trainings of all employees of a team Ukończone szkolenia wszystkich pracowników zespołu
55 Configuration Konfiguracja
56 Contact Kontakt
57 Contact details Dane kontaktowe
58 Contract Kontrakt
59 Contract type Rodzaj umowy
60 Create Utworzyć
61 Create Appraisal(Select Employees) Utwórz ocenę (wybierz pracowników)
62 Create Appraisals Tworzenie ocen
63 Create Appraisals(Select Employees) Tworzenie ocen (wybór pracowników)
64 Create a job application Utwórz podanie o pracę
65 Current applications
66 Current job offers
67 Dashboard Tablica rozdzielcza
68 Date of application Data rozpoczęcia stosowania
69 Deadline Ostateczny termin
70 Department Departament
71 Description Opis
72 Draft Wstępny projekt
73 Education level Poziom wykształcenia
74 Email Poczta elektroniczna
75 Employee Pracownik
76 Employee hired Zatrudniony pracownik
77 Employee registred Pracownik zarejestrowany
78 Employees Pracownicy
79 Events Wydarzenia
80 Expected salary Przewidywane wynagrodzenie
81 Experience Doświadczenie
82 Experience skills Doświadczenie zawodowe
83 Fax Faks
84 First name Imię i nazwisko
85 Fixed phone Telefon stacjonarny
86 From Od
87 From date Od daty
88 Full name Pełne imię i nazwisko
89 Hire Wynajem
90 Hired Wynajęty
91 Hiring Stage Etap wynajmu
92 Hiring stage Etap zatrudniania
93 Invalid dates. From date must be before to date. Nieważne daty. Od daty musi być wcześniejsza niż do daty.
94 Is template Czy szablon jest szablonowy?
95 Job Application Aplikacja pracy
96 Job Application Filters
97 Job Offer Information Informacje o ofercie pracy
98 Job Position Filters
99 Job application Aplikacja pracy
100 Job applications Zastosowania w pracy
101 Job description Opis stanowiska pracy
102 Job email Wiadomość e-mail z informacją o pracy
103 Job position Pozycja stanowiska pracy
104 Job positions Stanowiska pracy
105 Job reference Referencje do pracy
106 Job title Tytuł pracy
107 Last email sync id Ostatnia synchronizacja poczty elektronicznej
108 Last name Nazwisko
109 Level of education Poziom wykształcenia
110 LinkedIn profile Profil LinkedIn
111 Location Lokalizacja
112 Mandatory training Obowiązkowe szkolenie
113 Mobile phone Telefon komórkowy
114 Month Miesiąc
115 My completed appraisals Moje ukończone oceny
116 My completed trainings Moje ukończone szkolenia
117 My traning filters Moje filtry traningowe
118 My upcoming appraisal Moja nadchodząca ocena
119 My upcoming trainings Moje najbliższe szkolenia
120 Name Nazwa
121 Nb Employee Nb Pracownik
122 Nb Hours Godziny Nb
123 Nb of open jobs Nb otwartych miejsc pracy
124 Nb of people hired Liczba zatrudnionych osób
125 Nb of training hours per month Nb godzin szkoleniowych miesięcznie
126 Nb. hours per category Nb. godziny dla każdej kategorii
127 Nb. hours per training Nb. godzin na szkolenie
128 Nb. of trained employee per category Nb. wyszkolonego pracownika według kategorii
129 New appraisal Nowa ocena
130 Number of hours Liczba godzin
131 Number of registredred to the session Liczba zarejestrowanych uczestników sesji
132 Objectives Cele
133 On hold W stanie wstrzymania
134 Open Otwarte
135 Opened Otwarte
136 Other skills Inne umiejętności
137 Photo Zdjęcie
138 Planned Planowane
139 Position Status Położenie Status pozycji
140 Primary Address Adres podstawowy
141 Profile wanted Profil poszukiwany
142 Program Program
143 Proposed salary Proponowane wynagrodzenie
144 Publication Date Publikacja Data publikacji
145 Rating Klasyfikacja
146 Realize Zrozumieć
147 Reason not hired Powód nie zatrudniony
148 Recruitment Rekrutacja
149 Referred by Odsyłany przez
150 Register training Zarejestruj szkolenie
151 Rejected Odrzucony
152 Requested Wnioskowany
153 Required training Wymagane szkolenie
154 Responsible Odpowiedzialny
155 Reviewer Recenzent
156 Salary Wynagrodzenie
157 Schedule Event Harmonogram zdarzeń
158 Send Wyślij
159 Sent Wysłane
160 Sequence Kolejność
161 Session Sesja
162 Skill Umiejętności
163 Skills Umiejętności
164 Skills tag Znacznik umiejętności
165 Source Źródło: Opracowanie własne.
166 Starting date Data początkowa
167 Status Status
168 Tag skill Umiejętności oznaczania
169 Tag skills Umiejętności oznaczania
170 Technicien Technika
171 Title Tytuł
172 To Do
173 To date Do dnia dzisiejszego
174 Tools Narzędzia
175 Total Ogółem
176 Training Szkolenia
177 Training Categories Kategorie szkoleń
178 Training Category Kategoria szkolenia
179 Training Register Rejestr szkoleń
180 Training completed Ukończone szkolenie
181 Training dashboard Szkoleniowa deska rozdzielcza
182 Training dates must be under training session date range. Daty szkoleń muszą być podane w zakresie dat sesji szkoleniowych.
183 Training per category Szkolenie według kategorii
184 Training register Rejestr szkoleń
185 Training registers Rejestry szkoleń
186 Training session Sesja szkoleniowa
187 Training sessions Sesje szkoleniowe
188 Training skills Umiejętności szkoleniowe
189 Trainings Szkolenia
190 Type of appraisal Rodzaj oceny
191 Upcoming appraisal Zbliżająca się ocena
192 Upcoming appraisals of all employees of a team Zbliżające się oceny wszystkich pracowników zespołu
193 Upcoming trainings of all employees of a team Nadchodzące szkolenia wszystkich pracowników zespołu
194 Work experience Doświadczenie zawodowe
195 user@mydomain.com
196 value:Appraisal wartość: ocena
197 value:Recruitment wartość: Rekrutacja
198 value:Training wartość: Szkolenie

View File

@ -0,0 +1,198 @@
"key","message","comment","context"
"+10 years","+10 anos",,
"0 %",,,
"0-2 years","0-2 anos",,
"10 %",,,
"100 %",,,
"2-5 years","2-5 anos",,
"20 %",,,
"30 %",,,
"40 %",,,
"5-10 years","5-10 anos",,
"50 %",,,
"60 %",,,
"70 %",,,
"80 %",,,
"90 %",,,
"<a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />","<a class='fa fa-linkingin' href='http://www.linkedin.com' target='_blank' />",,
"A new employee form will be created. Do you confirm the creation ?","Um novo formulário de empregado será criado. Você confirma a criação?",,
"Accept/plan","Aceitar/planejar",,
"Address","Morada",,
"All applications","Todas as aplicações",,
"All trainings","Todos os treinamentos",,
"Application Information","Informações sobre a aplicação",,
"Applications",,,
"Applied job","Emprego aplicado",,
"Appraisal","Avaliação",,
"Appraisal cancelled","Avaliação cancelada",,
"Appraisal draft","Esboço de avaliação",,
"Appraisal filters","Filtros de avaliação",,
"Appraisal realized","Avaliação realizada",,
"Appraisal sent","Avaliação enviada",,
"Appraisal template","Modelo de avaliação",,
"Appraisal templates","Modelos de avaliação",,
"Appraisal type","Tipo de avaliação",,
"Appraisal types","Tipos de avaliação",,
"Appraisals","Avaliações",,
"Appreciation","Apreciação",,
"Availability from","Disponibilidade de",,
"Business sectors","Sectores de actividade",,
"Cadre","Cadre",,
"Calendar",,,
"Cancel","Cancelar",,
"Canceled","Cancelado",,
"Cancelled","Cancelado",,
"Categories","Categorias",,
"Category","Categoria: Categoria",,
"Close",,,
"Close session","Fechar sessão",,
"Closed","Fechado",,
"Closed job offers",,,
"Code","Código",,
"Company","Empresa",,
"Completed","Concluído",,
"Completed trainings of all employees of a team","Treinamentos completos de todos os funcionários de uma equipe",,
"Configuration","Configuração",,
"Contact","Contato",,
"Contact details","Detalhes de contato",,
"Contract","Contrato",,
"Contract type","Tipo de contrato",,
"Create","Criar",,
"Create Appraisal(Select Employees)","Criar avaliação (selecionar empregados)",,
"Create Appraisals","Criar avaliações",,
"Create Appraisals(Select Employees)","Criação de avaliações (selecionar empregados)",,
"Create a job application","Criar uma candidatura a um emprego",,
"Current applications",,,
"Current job offers",,,
"Dashboard","Painel de instrumentos",,
"Date of application","Data de aplicação",,
"Deadline","Prazo de entrega",,
"Department","Departamento",,
"Description","Descrição do produto",,
"Draft","Rascunho",,
"Education level","Nível de instrução",,
"Email","Email",,
"Employee","Empregado",,
"Employee hired","Empregado contratado",,
"Employee registred","Empregado cadastrado",,
"Employees","Empregados",,
"Events","Eventos",,
"Expected salary","Salário esperado",,
"Experience","Experiência",,
"Experience skills","Experiência",,
"Fax","Fax",,
"First name","Nome próprio",,
"Fixed phone","Telefone fixo",,
"From","De",,
"From date","Data de início",,
"Full name","Nome completo",,
"Hire","Contratar",,
"Hired","Contratados",,
"Hiring Stage","Fase de Contratação",,
"Hiring stage","Fase de contratação",,
"Invalid dates. From date must be before to date.","Datas inválidas. A data de início deve ser anterior à data.",,
"Is template","É modelo",,
"Job Application","Candidatura de emprego",,
"Job Application Filters",,,
"Job Offer Information","Informações sobre ofertas de emprego",,
"Job Position Filters",,,
"Job application","Pedido de emprego",,
"Job applications","Pedidos de emprego",,
"Job description","Descrição do trabalho",,
"Job email","E-mail do emprego",,
"Job position","Cargo",,
"Job positions","Posições de trabalho",,
"Job reference","Referência do emprego",,
"Job title","Cargo",,
"Last email sync id","Último email id de sincronização",,
"Last name","Sobrenome",,
"Level of education","Nível de educação",,
"LinkedIn profile","Perfil LinkedIn",,
"Location","Localização",,
"Mandatory training","Formação obrigatória",,
"Mobile phone","Telemóvel",,
"Month","Mês",,
"My completed appraisals","Minhas avaliações concluídas",,
"My completed trainings","Meus treinamentos concluídos",,
"My traning filters","Meus filtros de traning",,
"My upcoming appraisal","Minha próxima avaliação",,
"My upcoming trainings","Meus próximos treinamentos",,
"Name","Nome e Sobrenome",,
"Nb Employee","Nb Empregado",,
"Nb Hours","Nb Horas",,
"Nb of open jobs","Nb de empregos abertos",,
"Nb of people hired","Nb de pessoas contratadas",,
"Nb of training hours per month","Nb de horas de treinamento por mês",,
"Nb. hours per category","Nb. horas por categoria",,
"Nb. hours per training","Nb. horas por formação",,
"Nb. of trained employee per category","Nb. de empregado treinado por categoria",,
"New appraisal","Nova avaliação",,
"Number of hours","Número de horas",,
"Number of registredred to the session","Número de inscritos na sessão",,
"Objectives","Objetivos",,
"On hold","Em espera",,
"Open","Aberto",,
"Opened","Aberto",,
"Other skills","Outras competências",,
"Photo","Fotos",,
"Planned","Planejado",,
"Position Status","Status da posição",,
"Primary Address","Endereço principal",,
"Profile wanted","Perfil desejado",,
"Program","Programação",,
"Proposed salary","Salário proposto",,
"Publication Date","Data de Publicação",,
"Rating","Classificação",,
"Realize","Realizar",,
"Reason not hired","Motivo não contratado",,
"Recruitment","Recrutamento",,
"Referred by","Referido por",,
"Register training","Registrar treinamento",,
"Rejected","Rejeitado",,
"Requested","Solicitado",,
"Required training","Formação necessária",,
"Responsible","Responsável",,
"Reviewer","Revisor",,
"Salary","Salário",,
"Schedule Event","Agendar Evento",,
"Send","Enviar",,
"Sent","Enviado",,
"Sequence","Seqüência",,
"Session","Sessão",,
"Skill","Habilidade",,
"Skills","Competências",,
"Skills tag","Etiqueta de competências",,
"Source","Origem",,
"Starting date","Data de início",,
"Status","Estado",,
"Tag skill","Marcar habilidade",,
"Tag skills","Competências de tags",,
"Technicien","Técnico",,
"Title","Título",,
"To","Para",,
"To date","Até à data",,
"Tools","Ferramentas",,
"Total","Total",,
"Training","Treinamentos",,
"Training Categories","Categorias de Treinamento",,
"Training Category","Categoria de treinamento",,
"Training Register","Registro de Treinamento",,
"Training completed","Formação concluída",,
"Training dashboard","Painel de treino",,
"Training dates must be under training session date range.","As datas de treinamento devem estar dentro do intervalo de datas da sessão de treinamento.",,
"Training per category","Formação por categoria",,
"Training register","Registro de treinamento",,
"Training registers","Registos de formação",,
"Training session","Sessão de treinamento",,
"Training sessions","Sessões de treinamento",,
"Training skills","Competências de formação",,
"Trainings","Treinamentos",,
"Type of appraisal","Tipo de avaliação",,
"Upcoming appraisal","Próxima avaliação",,
"Upcoming appraisals of all employees of a team","Próximas avaliações de todos os funcionários de uma equipe",,
"Upcoming trainings of all employees of a team","Próximos treinamentos de todos os funcionários de uma equipe",,
"Work experience","Experiência de trabalho",,
"user@mydomain.com",,,
"value:Appraisal","valor:Avaliação",,
"value:Recruitment","valor:Recrutamento",,
"value:Training","valor:Formação",,
1 key message comment context
2 +10 years +10 anos
3 0 %
4 0-2 years 0-2 anos
5 10 %
6 100 %
7 2-5 years 2-5 anos
8 20 %
9 30 %
10 40 %
11 5-10 years 5-10 anos
12 50 %
13 60 %
14 70 %
15 80 %
16 90 %
17 <a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' /> <a class='fa fa-linkingin' href='http://www.linkedin.com' target='_blank' />
18 A new employee form will be created. Do you confirm the creation ? Um novo formulário de empregado será criado. Você confirma a criação?
19 Accept/plan Aceitar/planejar
20 Address Morada
21 All applications Todas as aplicações
22 All trainings Todos os treinamentos
23 Application Information Informações sobre a aplicação
24 Applications
25 Applied job Emprego aplicado
26 Appraisal Avaliação
27 Appraisal cancelled Avaliação cancelada
28 Appraisal draft Esboço de avaliação
29 Appraisal filters Filtros de avaliação
30 Appraisal realized Avaliação realizada
31 Appraisal sent Avaliação enviada
32 Appraisal template Modelo de avaliação
33 Appraisal templates Modelos de avaliação
34 Appraisal type Tipo de avaliação
35 Appraisal types Tipos de avaliação
36 Appraisals Avaliações
37 Appreciation Apreciação
38 Availability from Disponibilidade de
39 Business sectors Sectores de actividade
40 Cadre Cadre
41 Calendar
42 Cancel Cancelar
43 Canceled Cancelado
44 Cancelled Cancelado
45 Categories Categorias
46 Category Categoria: Categoria
47 Close
48 Close session Fechar sessão
49 Closed Fechado
50 Closed job offers
51 Code Código
52 Company Empresa
53 Completed Concluído
54 Completed trainings of all employees of a team Treinamentos completos de todos os funcionários de uma equipe
55 Configuration Configuração
56 Contact Contato
57 Contact details Detalhes de contato
58 Contract Contrato
59 Contract type Tipo de contrato
60 Create Criar
61 Create Appraisal(Select Employees) Criar avaliação (selecionar empregados)
62 Create Appraisals Criar avaliações
63 Create Appraisals(Select Employees) Criação de avaliações (selecionar empregados)
64 Create a job application Criar uma candidatura a um emprego
65 Current applications
66 Current job offers
67 Dashboard Painel de instrumentos
68 Date of application Data de aplicação
69 Deadline Prazo de entrega
70 Department Departamento
71 Description Descrição do produto
72 Draft Rascunho
73 Education level Nível de instrução
74 Email Email
75 Employee Empregado
76 Employee hired Empregado contratado
77 Employee registred Empregado cadastrado
78 Employees Empregados
79 Events Eventos
80 Expected salary Salário esperado
81 Experience Experiência
82 Experience skills Experiência
83 Fax Fax
84 First name Nome próprio
85 Fixed phone Telefone fixo
86 From De
87 From date Data de início
88 Full name Nome completo
89 Hire Contratar
90 Hired Contratados
91 Hiring Stage Fase de Contratação
92 Hiring stage Fase de contratação
93 Invalid dates. From date must be before to date. Datas inválidas. A data de início deve ser anterior à data.
94 Is template É modelo
95 Job Application Candidatura de emprego
96 Job Application Filters
97 Job Offer Information Informações sobre ofertas de emprego
98 Job Position Filters
99 Job application Pedido de emprego
100 Job applications Pedidos de emprego
101 Job description Descrição do trabalho
102 Job email E-mail do emprego
103 Job position Cargo
104 Job positions Posições de trabalho
105 Job reference Referência do emprego
106 Job title Cargo
107 Last email sync id Último email id de sincronização
108 Last name Sobrenome
109 Level of education Nível de educação
110 LinkedIn profile Perfil LinkedIn
111 Location Localização
112 Mandatory training Formação obrigatória
113 Mobile phone Telemóvel
114 Month Mês
115 My completed appraisals Minhas avaliações concluídas
116 My completed trainings Meus treinamentos concluídos
117 My traning filters Meus filtros de traning
118 My upcoming appraisal Minha próxima avaliação
119 My upcoming trainings Meus próximos treinamentos
120 Name Nome e Sobrenome
121 Nb Employee Nb Empregado
122 Nb Hours Nb Horas
123 Nb of open jobs Nb de empregos abertos
124 Nb of people hired Nb de pessoas contratadas
125 Nb of training hours per month Nb de horas de treinamento por mês
126 Nb. hours per category Nb. horas por categoria
127 Nb. hours per training Nb. horas por formação
128 Nb. of trained employee per category Nb. de empregado treinado por categoria
129 New appraisal Nova avaliação
130 Number of hours Número de horas
131 Number of registredred to the session Número de inscritos na sessão
132 Objectives Objetivos
133 On hold Em espera
134 Open Aberto
135 Opened Aberto
136 Other skills Outras competências
137 Photo Fotos
138 Planned Planejado
139 Position Status Status da posição
140 Primary Address Endereço principal
141 Profile wanted Perfil desejado
142 Program Programação
143 Proposed salary Salário proposto
144 Publication Date Data de Publicação
145 Rating Classificação
146 Realize Realizar
147 Reason not hired Motivo não contratado
148 Recruitment Recrutamento
149 Referred by Referido por
150 Register training Registrar treinamento
151 Rejected Rejeitado
152 Requested Solicitado
153 Required training Formação necessária
154 Responsible Responsável
155 Reviewer Revisor
156 Salary Salário
157 Schedule Event Agendar Evento
158 Send Enviar
159 Sent Enviado
160 Sequence Seqüência
161 Session Sessão
162 Skill Habilidade
163 Skills Competências
164 Skills tag Etiqueta de competências
165 Source Origem
166 Starting date Data de início
167 Status Estado
168 Tag skill Marcar habilidade
169 Tag skills Competências de tags
170 Technicien Técnico
171 Title Título
172 To Para
173 To date Até à data
174 Tools Ferramentas
175 Total Total
176 Training Treinamentos
177 Training Categories Categorias de Treinamento
178 Training Category Categoria de treinamento
179 Training Register Registro de Treinamento
180 Training completed Formação concluída
181 Training dashboard Painel de treino
182 Training dates must be under training session date range. As datas de treinamento devem estar dentro do intervalo de datas da sessão de treinamento.
183 Training per category Formação por categoria
184 Training register Registro de treinamento
185 Training registers Registos de formação
186 Training session Sessão de treinamento
187 Training sessions Sessões de treinamento
188 Training skills Competências de formação
189 Trainings Treinamentos
190 Type of appraisal Tipo de avaliação
191 Upcoming appraisal Próxima avaliação
192 Upcoming appraisals of all employees of a team Próximas avaliações de todos os funcionários de uma equipe
193 Upcoming trainings of all employees of a team Próximos treinamentos de todos os funcionários de uma equipe
194 Work experience Experiência de trabalho
195 user@mydomain.com
196 value:Appraisal valor:Avaliação
197 value:Recruitment valor:Recrutamento
198 value:Training valor:Formação

View File

@ -0,0 +1,198 @@
"key","message","comment","context"
"+10 years","+10 лет",,
"0 %",,,
"0-2 years","0-2 года",,
"10 %",,,
"100 %",,,
"2-5 years","2-5 лет",,
"20 %",,,
"30 %",,,
"40 %",,,
"5-10 years","5-10 лет",,
"50 %",,,
"60 %",,,
"70 %",,,
"80 %",,,
"90 %",,,
"<a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />","<a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />",,
"A new employee form will be created. Do you confirm the creation ?","Будет создана новая форма работника. Вы подтверждаете создание?",,
"Accept/plan","Принять/планировать",,
"Address","Адрес",,
"All applications","Все приложения",,
"All trainings","Все тренинги",,
"Application Information","Информация о применении",,
"Applications",,,
"Applied job","Прикладная работа",,
"Appraisal","Оценка",,
"Appraisal cancelled","Отмена оценки",,
"Appraisal draft","Оценочный проект",,
"Appraisal filters","Оценочные фильтры",,
"Appraisal realized","Оценка выполнена",,
"Appraisal sent","Отправлено оценочное письмо",,
"Appraisal template","Шаблон оценки",,
"Appraisal templates","Шаблоны оценки",,
"Appraisal type","Тип оценки",,
"Appraisal types","Виды оценки",,
"Appraisals","Оценки",,
"Appreciation","Признательность",,
"Availability from","Доступность по адресу",,
"Business sectors","Бизнес-секторы",,
"Cadre","Кадр",,
"Calendar",,,
"Cancel","Отмена",,
"Canceled","Отмена",,
"Cancelled","Отменяется",,
"Categories","Категории",,
"Category","Категория",,
"Close",,,
"Close session","Закрытое заседание",,
"Closed","Закрытый",,
"Closed job offers",,,
"Code","Код",,
"Company","Компания",,
"Completed","Завершено",,
"Completed trainings of all employees of a team","Проведенные тренинги для всех сотрудников команды",,
"Configuration","Конфигурация",,
"Contact","Контакт",,
"Contact details","Контактная информация",,
"Contract","Контракт",,
"Contract type","Тип контракта",,
"Create","Создать",,
"Create Appraisal(Select Employees)","Создать аттестацию (Отбор сотрудников)",,
"Create Appraisals","Создать Оценки",,
"Create Appraisals(Select Employees)","Создать аттестацию (отдельные сотрудники)",,
"Create a job application","Создать приложение для создания рабочих мест",,
"Current applications",,,
"Current job offers",,,
"Dashboard","Приборная панель",,
"Date of application","Дата подачи заявки",,
"Deadline","Крайний срок",,
"Department","Департамент",,
"Description","Описание",,
"Draft","Проект",,
"Education level","Уровень образования",,
"Email","Электронная почта",,
"Employee","Сотрудник",,
"Employee hired","Наемный работник",,
"Employee registred","Зарегистрированный сотрудник",,
"Employees","Сотрудники",,
"Events","События",,
"Expected salary","Ожидаемая зарплата",,
"Experience","Опыт",,
"Experience skills","Опыт работы",,
"Fax","Факс",,
"First name","Имя",,
"Fixed phone","Стационарный телефон",,
"From","От",,
"From date","С даты",,
"Full name","Полное имя",,
"Hire","Прокат",,
"Hired","Нанятый",,
"Hiring Stage","Этап найма",,
"Hiring stage","Стадия найма",,
"Invalid dates. From date must be before to date.","Недействительные даты. С даты должно быть до сегодняшнего дня.",,
"Is template","это шаблон",,
"Job Application","Заявление на работу",,
"Job Application Filters",,,
"Job Offer Information","Информация о предложении работы",,
"Job Position Filters",,,
"Job application","Заявление на работу",,
"Job applications","Заявления о приеме на работу",,
"Job description","Описание должности",,
"Job email","Электронная почта с вакансии",,
"Job position","Должность",,
"Job positions","Вакансии",,
"Job reference","Информация о работе",,
"Job title","Должность",,
"Last email sync id","Последний идентификатор синхронизации электронной почты",,
"Last name","Фамилия",,
"Level of education","Уровень образования",,
"LinkedIn profile","Профиль LinkedIn",,
"Location","Местоположение",,
"Mandatory training","Обязательное обучение",,
"Mobile phone","Мобильный телефон",,
"Month","Месяц",,
"My completed appraisals","Мои завершенные оценки",,
"My completed trainings","Мои завершенные тренинги",,
"My traning filters","Мои фильтры для трансляции",,
"My upcoming appraisal","Моя предстоящая оценка",,
"My upcoming trainings","Мои предстоящие тренировки",,
"Name","Имя",,
"Nb Employee","Nb Работник",,
"Nb Hours","НБ Часы",,
"Nb of open jobs","Nb открытых вакансий",,
"Nb of people hired","Nb людей, нанятых на работу.",,
"Nb of training hours per month","Nb часов обучения в месяц",,
"Nb. hours per category","Кол-во часов по категориям",,
"Nb. hours per training","Нб. часов на тренинг",,
"Nb. of trained employee per category","Количество обученных сотрудников в штуках по категориям",,
"New appraisal","Новая оценка",,
"Number of hours","Количество часов",,
"Number of registredred to the session","Число зарегистрированных участников сессии",,
"Objectives","Цели",,
"On hold","На линии ожидания",,
"Open","Открыть",,
"Opened","Открыт",,
"Other skills","Другие навыки",,
"Photo","Фото",,
"Planned","Запланированный",,
"Position Status","Статус позиции",,
"Primary Address","Основной адрес",,
"Profile wanted","Профиль разыскивается",,
"Program","Программа",,
"Proposed salary","Предлагаемая зарплата",,
"Publication Date","Дата публикации",,
"Rating","Рейтинг",,
"Realize","Понять.",,
"Reason not hired","Причина, по которой не нанята.",,
"Recruitment","Набор персонала",,
"Referred by","Ссылаясь на",,
"Register training","Зарегистрироваться на тренинг",,
"Rejected","Отклонено",,
"Requested","Запрошенный",,
"Required training","Необходимая подготовка",,
"Responsible","Ответственный",,
"Reviewer","Рецензент",,
"Salary","Зарплата",,
"Schedule Event","Расписание Событие",,
"Send","Отправить",,
"Sent","Отправлено",,
"Sequence","Последовательность",,
"Session","Заседание",,
"Skill","Умение",,
"Skills","Навыки",,
"Skills tag","Метка навыков",,
"Source","Источник",,
"Starting date","Дата начала",,
"Status","Статус",,
"Tag skill","Тег навык",,
"Tag skills","Теги навыков",,
"Technicien","Техничиен",,
"Title","Название",,
"To","К",,
"To date","На сегодняшний день",,
"Tools","Инструменты",,
"Total","Всего",,
"Training","Обучение",,
"Training Categories","Категории обучения",,
"Training Category","Категория обучения",,
"Training Register","Учебный реестр",,
"Training completed","Обучение завершено",,
"Training dashboard","Приборная панель для тренировок",,
"Training dates must be under training session date range.","Даты проведения тренинга должны находиться в пределах диапазона дат проведения тренинга.",,
"Training per category","Обучение по категориям",,
"Training register","Учебный регистр",,
"Training registers","Учебные реестры",,
"Training session","Учебная сессия",,
"Training sessions","Учебные занятия",,
"Training skills","Учебные навыки",,
"Trainings","Тренинги",,
"Type of appraisal","Тип оценки",,
"Upcoming appraisal","Предстоящая оценка",,
"Upcoming appraisals of all employees of a team","Предстоящие аттестации всех сотрудников команды",,
"Upcoming trainings of all employees of a team","Предстоящие тренинги для всех сотрудников команды",,
"Work experience","Опыт работы",,
"user@mydomain.com",,,
"value:Appraisal","Стоимость:Оценка",,
"value:Recruitment","стоимость:Вербовка",,
"value:Training","Ценность:Обучение",,
1 key message comment context
2 +10 years +10 лет
3 0 %
4 0-2 years 0-2 года
5 10 %
6 100 %
7 2-5 years 2-5 лет
8 20 %
9 30 %
10 40 %
11 5-10 years 5-10 лет
12 50 %
13 60 %
14 70 %
15 80 %
16 90 %
17 <a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' /> <a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' />
18 A new employee form will be created. Do you confirm the creation ? Будет создана новая форма работника. Вы подтверждаете создание?
19 Accept/plan Принять/планировать
20 Address Адрес
21 All applications Все приложения
22 All trainings Все тренинги
23 Application Information Информация о применении
24 Applications
25 Applied job Прикладная работа
26 Appraisal Оценка
27 Appraisal cancelled Отмена оценки
28 Appraisal draft Оценочный проект
29 Appraisal filters Оценочные фильтры
30 Appraisal realized Оценка выполнена
31 Appraisal sent Отправлено оценочное письмо
32 Appraisal template Шаблон оценки
33 Appraisal templates Шаблоны оценки
34 Appraisal type Тип оценки
35 Appraisal types Виды оценки
36 Appraisals Оценки
37 Appreciation Признательность
38 Availability from Доступность по адресу
39 Business sectors Бизнес-секторы
40 Cadre Кадр
41 Calendar
42 Cancel Отмена
43 Canceled Отмена
44 Cancelled Отменяется
45 Categories Категории
46 Category Категория
47 Close
48 Close session Закрытое заседание
49 Closed Закрытый
50 Closed job offers
51 Code Код
52 Company Компания
53 Completed Завершено
54 Completed trainings of all employees of a team Проведенные тренинги для всех сотрудников команды
55 Configuration Конфигурация
56 Contact Контакт
57 Contact details Контактная информация
58 Contract Контракт
59 Contract type Тип контракта
60 Create Создать
61 Create Appraisal(Select Employees) Создать аттестацию (Отбор сотрудников)
62 Create Appraisals Создать Оценки
63 Create Appraisals(Select Employees) Создать аттестацию (отдельные сотрудники)
64 Create a job application Создать приложение для создания рабочих мест
65 Current applications
66 Current job offers
67 Dashboard Приборная панель
68 Date of application Дата подачи заявки
69 Deadline Крайний срок
70 Department Департамент
71 Description Описание
72 Draft Проект
73 Education level Уровень образования
74 Email Электронная почта
75 Employee Сотрудник
76 Employee hired Наемный работник
77 Employee registred Зарегистрированный сотрудник
78 Employees Сотрудники
79 Events События
80 Expected salary Ожидаемая зарплата
81 Experience Опыт
82 Experience skills Опыт работы
83 Fax Факс
84 First name Имя
85 Fixed phone Стационарный телефон
86 From От
87 From date С даты
88 Full name Полное имя
89 Hire Прокат
90 Hired Нанятый
91 Hiring Stage Этап найма
92 Hiring stage Стадия найма
93 Invalid dates. From date must be before to date. Недействительные даты. С даты должно быть до сегодняшнего дня.
94 Is template это шаблон
95 Job Application Заявление на работу
96 Job Application Filters
97 Job Offer Information Информация о предложении работы
98 Job Position Filters
99 Job application Заявление на работу
100 Job applications Заявления о приеме на работу
101 Job description Описание должности
102 Job email Электронная почта с вакансии
103 Job position Должность
104 Job positions Вакансии
105 Job reference Информация о работе
106 Job title Должность
107 Last email sync id Последний идентификатор синхронизации электронной почты
108 Last name Фамилия
109 Level of education Уровень образования
110 LinkedIn profile Профиль LinkedIn
111 Location Местоположение
112 Mandatory training Обязательное обучение
113 Mobile phone Мобильный телефон
114 Month Месяц
115 My completed appraisals Мои завершенные оценки
116 My completed trainings Мои завершенные тренинги
117 My traning filters Мои фильтры для трансляции
118 My upcoming appraisal Моя предстоящая оценка
119 My upcoming trainings Мои предстоящие тренировки
120 Name Имя
121 Nb Employee Nb Работник
122 Nb Hours НБ Часы
123 Nb of open jobs Nb открытых вакансий
124 Nb of people hired Nb людей, нанятых на работу.
125 Nb of training hours per month Nb часов обучения в месяц
126 Nb. hours per category Кол-во часов по категориям
127 Nb. hours per training Нб. часов на тренинг
128 Nb. of trained employee per category Количество обученных сотрудников в штуках по категориям
129 New appraisal Новая оценка
130 Number of hours Количество часов
131 Number of registredred to the session Число зарегистрированных участников сессии
132 Objectives Цели
133 On hold На линии ожидания
134 Open Открыть
135 Opened Открыт
136 Other skills Другие навыки
137 Photo Фото
138 Planned Запланированный
139 Position Status Статус позиции
140 Primary Address Основной адрес
141 Profile wanted Профиль разыскивается
142 Program Программа
143 Proposed salary Предлагаемая зарплата
144 Publication Date Дата публикации
145 Rating Рейтинг
146 Realize Понять.
147 Reason not hired Причина, по которой не нанята.
148 Recruitment Набор персонала
149 Referred by Ссылаясь на
150 Register training Зарегистрироваться на тренинг
151 Rejected Отклонено
152 Requested Запрошенный
153 Required training Необходимая подготовка
154 Responsible Ответственный
155 Reviewer Рецензент
156 Salary Зарплата
157 Schedule Event Расписание Событие
158 Send Отправить
159 Sent Отправлено
160 Sequence Последовательность
161 Session Заседание
162 Skill Умение
163 Skills Навыки
164 Skills tag Метка навыков
165 Source Источник
166 Starting date Дата начала
167 Status Статус
168 Tag skill Тег навык
169 Tag skills Теги навыков
170 Technicien Техничиен
171 Title Название
172 To К
173 To date На сегодняшний день
174 Tools Инструменты
175 Total Всего
176 Training Обучение
177 Training Categories Категории обучения
178 Training Category Категория обучения
179 Training Register Учебный реестр
180 Training completed Обучение завершено
181 Training dashboard Приборная панель для тренировок
182 Training dates must be under training session date range. Даты проведения тренинга должны находиться в пределах диапазона дат проведения тренинга.
183 Training per category Обучение по категориям
184 Training register Учебный регистр
185 Training registers Учебные реестры
186 Training session Учебная сессия
187 Training sessions Учебные занятия
188 Training skills Учебные навыки
189 Trainings Тренинги
190 Type of appraisal Тип оценки
191 Upcoming appraisal Предстоящая оценка
192 Upcoming appraisals of all employees of a team Предстоящие аттестации всех сотрудников команды
193 Upcoming trainings of all employees of a team Предстоящие тренинги для всех сотрудников команды
194 Work experience Опыт работы
195 user@mydomain.com
196 value:Appraisal Стоимость:Оценка
197 value:Recruitment стоимость:Вербовка
198 value:Training Ценность:Обучение

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_5.2.xsd">
<input file="appraisal_role.csv" separator=";" type="com.axelor.auth.db.Role" search="self.name = :name"/>
<input file="appraisal_permission.csv" separator=";" type="com.axelor.auth.db.Permission" search="self.name = :name" call="com.axelor.csv.script.ImportPermission:importPermissionToRole">
<bind to="canRead" eval="can_read == 'x' ? 'true' : 'false'"/>
<bind to="canWrite" eval="can_write == 'x' ? 'true' : 'false'"/>
<bind to="canCreate" eval="can_create == 'x' ? 'true' : 'false'"/>
<bind to="canRemove" eval="can_remove == 'x' ? 'true' : 'false'"/>
<bind to="canExport" eval="can_export == 'x' ? 'true' : 'false'"/>
</input>
<input file="appraisal_metaMenu.csv" separator=";" type="com.axelor.meta.db.MetaMenu" search="self.name = :name" update="true">
<bind column="roles" to="roles" search="self.name in :roles" eval="roles.split('\\|') as List"/>
</input>
</csv-inputs>

View File

@ -0,0 +1,7 @@
"name";"roles"
"hr-root";"Appraisal Manager|Appraisal User|Appraisal Read"
"appraisal-root";"Appraisal Manager|Appraisal User|Appraisal Read"
"appraisal-all-appraisals";"Appraisal Manager|Appraisal User|Appraisal Read"
"appraisal-template-appraisals";"Appraisal Manager|Appraisal User|Appraisal Read"
"appraisal-config";"Appraisal Manager"
"appraisal-config-appraisal-type";"Appraisal Manager"
1 name roles
2 hr-root Appraisal Manager|Appraisal User|Appraisal Read
3 appraisal-root Appraisal Manager|Appraisal User|Appraisal Read
4 appraisal-all-appraisals Appraisal Manager|Appraisal User|Appraisal Read
5 appraisal-template-appraisals Appraisal Manager|Appraisal User|Appraisal Read
6 appraisal-config Appraisal Manager
7 appraisal-config-appraisal-type Appraisal Manager

View File

@ -0,0 +1,7 @@
"name";"object";"can_read";"can_write";"can_create";"can_remove";"can_export";"condition";"conditionParams";"roleName"
"perm.talent.Appraisal.r";"com.axelor.apps.talent.db.Appraisal";"x";;;;;"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Appraisal Read"
"perm.talent.AppraisalType.r";"com.axelor.apps.talent.db.AppraisalType";"x";;;;;;;"Appraisal Read"
"perm.talent.Appraisal.rwc";"com.axelor.apps.talent.db.Appraisal";"x";"x";"x";;;"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Appraisal User"
"perm.talent.AppraisalType.rwc";"com.axelor.apps.talent.db.AppraisalType";"x";"x";"x";;;;;"Appraisal User"
"perm.talent.Appraisal.rwcde";"com.axelor.apps.talent.db.Appraisal";"x";"x";"x";"x";"x";"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Appraisal Manager"
"perm.talent.AppraisalType.rwcde";"com.axelor.apps.talent.db.AppraisalType";"x";"x";"x";"x";"x";;;"Appraisal Manager"
1 name object can_read can_write can_create can_remove can_export condition conditionParams roleName
2 perm.talent.Appraisal.r com.axelor.apps.talent.db.Appraisal x self.company.id in (?) __user__.companySet.id.plus(0) Appraisal Read
3 perm.talent.AppraisalType.r com.axelor.apps.talent.db.AppraisalType x Appraisal Read
4 perm.talent.Appraisal.rwc com.axelor.apps.talent.db.Appraisal x x x self.company.id in (?) __user__.companySet.id.plus(0) Appraisal User
5 perm.talent.AppraisalType.rwc com.axelor.apps.talent.db.AppraisalType x x x Appraisal User
6 perm.talent.Appraisal.rwcde com.axelor.apps.talent.db.Appraisal x x x x x self.company.id in (?) __user__.companySet.id.plus(0) Appraisal Manager
7 perm.talent.AppraisalType.rwcde com.axelor.apps.talent.db.AppraisalType x x x x x Appraisal Manager

View File

@ -0,0 +1,4 @@
"name";"description"
"Appraisal Read";
"Appraisal User";
"Appraisal Manager";
1 name description
2 Appraisal Read
3 Appraisal User
4 Appraisal Manager

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_5.2.xsd">
<input file="recruitment_role.csv" separator=";" type="com.axelor.auth.db.Role" search="self.name = :name"/>
<input file="recruitment_permission.csv" separator=";" type="com.axelor.auth.db.Permission" search="self.name = :name" call="com.axelor.csv.script.ImportPermission:importPermissionToRole">
<bind to="canRead" eval="can_read == 'x' ? 'true' : 'false'"/>
<bind to="canWrite" eval="can_write == 'x' ? 'true' : 'false'"/>
<bind to="canCreate" eval="can_create == 'x' ? 'true' : 'false'"/>
<bind to="canRemove" eval="can_remove == 'x' ? 'true' : 'false'"/>
<bind to="canExport" eval="can_export == 'x' ? 'true' : 'false'"/>
</input>
<input file="recruitment_metaMenu.csv" separator=";" type="com.axelor.meta.db.MetaMenu" search="self.name = :name" update="true">
<bind column="roles" to="roles" search="self.name in :roles" eval="roles.split('\\|') as List"/>
</input>
</csv-inputs>

View File

@ -0,0 +1,9 @@
"name";"roles"
"hr-root";"Recruitment Manager|Recruitment User|Recruitment Read"
"recruitment-root";"Recruitment Manager|Recruitment User|Recruitment Read"
"recruitment-job-position-open";"Recruitment Manager|Recruitment User|Recruitment Read"
"recruitment-job-application-all";"Recruitment Manager|Recruitment User|Recruitment Read"
"recruitment-config";"Recruitment Manager"
"recruitment-config-education-level";"Recruitment Manager"
"recruitment-config-hiring-stage";"Recruitment Manager"
"recruitment-config-source";"Recruitment Manager"
1 name roles
2 hr-root Recruitment Manager|Recruitment User|Recruitment Read
3 recruitment-root Recruitment Manager|Recruitment User|Recruitment Read
4 recruitment-job-position-open Recruitment Manager|Recruitment User|Recruitment Read
5 recruitment-job-application-all Recruitment Manager|Recruitment User|Recruitment Read
6 recruitment-config Recruitment Manager
7 recruitment-config-education-level Recruitment Manager
8 recruitment-config-hiring-stage Recruitment Manager
9 recruitment-config-source Recruitment Manager

View File

@ -0,0 +1,19 @@
"name";"object";"can_read";"can_write";"can_create";"can_remove";"can_export";"condition";"conditionParams";"roleName"
"perm.talent.EducationLevel.r";"com.axelor.apps.talent.db.EducationLevel";"x";;;;;;;"Recruitment Read"
"perm.talent.HiringStage.r";"com.axelor.apps.talent.db.HiringStage";"x";;;;;;;"Recruitment Read"
"perm.talent.Skill.r";"com.axelor.apps.talent.db.Skill";"x";;;;;;;"Recruitment Read"
"perm.talent.JobApplication.r";"com.axelor.apps.talent.db.JobApplication";"x";;;;;;;"Recruitment Read"
"perm.talent.JobPosition.r";"com.axelor.apps.talent.db.JobPosition";"x";;;;;;;"Recruitment Read"
"perm.talent.TalentSource.r";"com.axelor.apps.talent.db.TalentSource";"x";;;;;;;"Recruitment Read"
"perm.talent.EducationLevel.rwc";"com.axelor.apps.talent.db.EducationLevel";"x";"x";"x";;;;;"Recruitment User"
"perm.talent.HiringStage.rwc";"com.axelor.apps.talent.db.HiringStage";"x";"x";"x";;;;;"Recruitment User"
"perm.talent.Skill.rwc";"com.axelor.apps.talent.db.Skill";"x";"x";"x";;;;;"Recruitment User"
"perm.talent.JobApplication.rwc";"com.axelor.apps.talent.db.JobApplication";"x";"x";"x";;;;;"Recruitment User"
"perm.talent.JobPosition.rwc";"com.axelor.apps.talent.db.JobPosition";"x";"x";"x";;;;;"Recruitment User"
"perm.talent.TalentSource.rwc";"com.axelor.apps.talent.db.TalentSource";"x";"x";"x";;;;;"Recruitment User"
"perm.talent.EducationLevel.rwcde";"com.axelor.apps.talent.db.EducationLevel";"x";"x";"x";"x";"x";;;"Recruitment Manager"
"perm.talent.HiringStage.rwcde";"com.axelor.apps.talent.db.HiringStage";"x";"x";"x";"x";"x";;;"Recruitment Manager"
"perm.talent.Skill.rwcde";"com.axelor.apps.talent.db.Skill";"x";"x";"x";"x";"x";;;"Recruitment Manager"
"perm.talent.JobApplication.rwcde";"com.axelor.apps.talent.db.JobApplication";"x";"x";"x";"x";"x";;;"Recruitment Manager"
"perm.talent.JobPosition.rwcde";"com.axelor.apps.talent.db.JobPosition";"x";"x";"x";"x";"x";;;"Recruitment Manager"
"perm.talent.TalentSource.rwcde";"com.axelor.apps.talent.db.TalentSource";"x";"x";"x";"x";"x";;;"Recruitment Manager"
1 name object can_read can_write can_create can_remove can_export condition conditionParams roleName
2 perm.talent.EducationLevel.r com.axelor.apps.talent.db.EducationLevel x Recruitment Read
3 perm.talent.HiringStage.r com.axelor.apps.talent.db.HiringStage x Recruitment Read
4 perm.talent.Skill.r com.axelor.apps.talent.db.Skill x Recruitment Read
5 perm.talent.JobApplication.r com.axelor.apps.talent.db.JobApplication x Recruitment Read
6 perm.talent.JobPosition.r com.axelor.apps.talent.db.JobPosition x Recruitment Read
7 perm.talent.TalentSource.r com.axelor.apps.talent.db.TalentSource x Recruitment Read
8 perm.talent.EducationLevel.rwc com.axelor.apps.talent.db.EducationLevel x x x Recruitment User
9 perm.talent.HiringStage.rwc com.axelor.apps.talent.db.HiringStage x x x Recruitment User
10 perm.talent.Skill.rwc com.axelor.apps.talent.db.Skill x x x Recruitment User
11 perm.talent.JobApplication.rwc com.axelor.apps.talent.db.JobApplication x x x Recruitment User
12 perm.talent.JobPosition.rwc com.axelor.apps.talent.db.JobPosition x x x Recruitment User
13 perm.talent.TalentSource.rwc com.axelor.apps.talent.db.TalentSource x x x Recruitment User
14 perm.talent.EducationLevel.rwcde com.axelor.apps.talent.db.EducationLevel x x x x x Recruitment Manager
15 perm.talent.HiringStage.rwcde com.axelor.apps.talent.db.HiringStage x x x x x Recruitment Manager
16 perm.talent.Skill.rwcde com.axelor.apps.talent.db.Skill x x x x x Recruitment Manager
17 perm.talent.JobApplication.rwcde com.axelor.apps.talent.db.JobApplication x x x x x Recruitment Manager
18 perm.talent.JobPosition.rwcde com.axelor.apps.talent.db.JobPosition x x x x x Recruitment Manager
19 perm.talent.TalentSource.rwcde com.axelor.apps.talent.db.TalentSource x x x x x Recruitment Manager

View File

@ -0,0 +1,4 @@
"name";"description"
"Recruitment Read";
"Recruitment User";
"Recruitment Manager";
1 name description
2 Recruitment Read
3 Recruitment User
4 Recruitment Manager

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_5.2.xsd">
<input file="training_role.csv" separator=";" type="com.axelor.auth.db.Role" search="self.name = :name"/>
<input file="training_permission.csv" separator=";" type="com.axelor.auth.db.Permission" search="self.name = :name" call="com.axelor.csv.script.ImportPermission:importPermissionToRole">
<bind to="canRead" eval="can_read == 'x' ? 'true' : 'false'"/>
<bind to="canWrite" eval="can_write == 'x' ? 'true' : 'false'"/>
<bind to="canCreate" eval="can_create == 'x' ? 'true' : 'false'"/>
<bind to="canRemove" eval="can_remove == 'x' ? 'true' : 'false'"/>
<bind to="canExport" eval="can_export == 'x' ? 'true' : 'false'"/>
</input>
<input file="training_metaMenu.csv" separator=";" type="com.axelor.meta.db.MetaMenu" search="self.name = :name" update="true">
<bind column="roles" to="roles" search="self.name in :roles" eval="roles.split('\\|') as List"/>
</input>
</csv-inputs>

View File

@ -0,0 +1,9 @@
"name";"roles"
"hr-root";"Training Manager|Training User|Training Read"
"training-root";"Training Manager|Training User|Training Read"
"training-register-all";"Training Manager|Training User|Training Read"
"training-dashboard";"Training Manager|Training User|Training Read"
"training-conf";"Training Manager"
"training-category-all";"Training Manager"
"training-training-all";"Training Manager"
"training-session-all";"Training Manager"
1 name roles
2 hr-root Training Manager|Training User|Training Read
3 training-root Training Manager|Training User|Training Read
4 training-register-all Training Manager|Training User|Training Read
5 training-dashboard Training Manager|Training User|Training Read
6 training-conf Training Manager
7 training-category-all Training Manager
8 training-training-all Training Manager
9 training-session-all Training Manager

View File

@ -0,0 +1,16 @@
"name";"object";"can_read";"can_write";"can_create";"can_remove";"can_export";"condition";"conditionParams";"roleName"
"perm.talent.TrainingCategory.r";"com.axelor.apps.talent.db.TrainingCategory";"x";;;;;;;"Training Read"
"perm.talent.Training.r";"com.axelor.apps.talent.db.Training";"x";;;;;"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Training Read"
"perm.talent.TrainingSession.r";"com.axelor.apps.talent.db.TrainingSession";"x";;;;;;;"Training Read"
"perm.talent.Skill.r";"com.axelor.apps.talent.db.Skill";"x";;;;;;;"Training Read"
"perm.talent.TalentSource.r";"com.axelor.apps.talent.db.TalentSource";"x";;;;;;;"Training Read"
"perm.talent.TrainingCategory.rwc";"com.axelor.apps.talent.db.TrainingCategory";"x";"x";"x";;;;;"Training User"
"perm.talent.Training.rwc";"com.axelor.apps.talent.db.Training";"x";"x";"x";;;"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Training User"
"perm.talent.TrainingSession.rwc";"com.axelor.apps.talent.db.TrainingSession";"x";"x";"x";;;;;"Training User"
"perm.talent.Skill.rwc";"com.axelor.apps.talent.db.Skill";"x";"x";"x";;;;;"Training User"
"perm.talent.TrainingRegister.rwc";"com.axelor.apps.talent.db.TrainingRegister";"x";"x";"x";;;;;"Training User"
"perm.talent.TrainingCategory.rwcde";"com.axelor.apps.talent.db.TrainingCategory";"x";"x";"x";"x";"x";;;"Training Manager"
"perm.talent.Training.rwcde";"com.axelor.apps.talent.db.Training";"x";"x";"x";"x";"x";"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Training Manager"
"perm.talent.TrainingSession.rwcde";"com.axelor.apps.talent.db.TrainingSession";"x";"x";"x";"x";"x";;;"Training Manager"
"perm.talent.Skill.rwcde";"com.axelor.apps.talent.db.Skill";"x";"x";"x";"x";"x";;;"Training Manager"
"perm.talent.TrainingRegister.rwcde";"com.axelor.apps.talent.db.TrainingRegister";"x";"x";"x";"x";"x";;;"Training Manager"
1 name object can_read can_write can_create can_remove can_export condition conditionParams roleName
2 perm.talent.TrainingCategory.r com.axelor.apps.talent.db.TrainingCategory x Training Read
3 perm.talent.Training.r com.axelor.apps.talent.db.Training x self.company.id in (?) __user__.companySet.id.plus(0) Training Read
4 perm.talent.TrainingSession.r com.axelor.apps.talent.db.TrainingSession x Training Read
5 perm.talent.Skill.r com.axelor.apps.talent.db.Skill x Training Read
6 perm.talent.TalentSource.r com.axelor.apps.talent.db.TalentSource x Training Read
7 perm.talent.TrainingCategory.rwc com.axelor.apps.talent.db.TrainingCategory x x x Training User
8 perm.talent.Training.rwc com.axelor.apps.talent.db.Training x x x self.company.id in (?) __user__.companySet.id.plus(0) Training User
9 perm.talent.TrainingSession.rwc com.axelor.apps.talent.db.TrainingSession x x x Training User
10 perm.talent.Skill.rwc com.axelor.apps.talent.db.Skill x x x Training User
11 perm.talent.TrainingRegister.rwc com.axelor.apps.talent.db.TrainingRegister x x x Training User
12 perm.talent.TrainingCategory.rwcde com.axelor.apps.talent.db.TrainingCategory x x x x x Training Manager
13 perm.talent.Training.rwcde com.axelor.apps.talent.db.Training x x x x x self.company.id in (?) __user__.companySet.id.plus(0) Training Manager
14 perm.talent.TrainingSession.rwcde com.axelor.apps.talent.db.TrainingSession x x x x x Training Manager
15 perm.talent.Skill.rwcde com.axelor.apps.talent.db.Skill x x x x x Training Manager
16 perm.talent.TrainingRegister.rwcde com.axelor.apps.talent.db.TrainingRegister x x x x x Training Manager

View File

@ -0,0 +1,4 @@
"name";"description"
"Training Read";
"Training User";
"Training Manager";
1 name description
2 Training Read
3 Training User
4 Training Manager

View File

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="appraisal-grid" title="Appraisals" model="com.axelor.apps.talent.db.Appraisal">
<field name="employee" />
<field name="company" if="__config__.app.getApp('base').getEnableMultiCompany()"/>
<field name="appraisalType" />
<field name="toDate" />
<field name="reviewerEmployee" />
<field name="statusSelect" />
</grid>
<grid name="appraisal-template-grid" title="Appraisal templates" model="com.axelor.apps.talent.db.Appraisal">
<field name="company" if="__config__.app.getApp('base').getEnableMultiCompany()"/>
<field name="appraisalType" />
<field name="toDate" />
<field name="reviewerEmployee" />
</grid>
<form name="appraisal-form" title="Appraisal" model="com.axelor.apps.talent.db.Appraisal" width="large">
<panel name="actionPanel">
<field name="statusSelect" colSpan="8" widget="NavSelect" showTitle="false" />
<panel name="subActionPanel" colSpan="4" stacked="true">
<button name="sendAppraisalBtn" title="Send" showIf="statusSelect == 0" onClick="save,action-appraisal-method-send-appraisal"/>
<button name="realizeAppraisalBtn" title="Realize" showIf="statusSelect == 1" css="btn-success" onClick="save,action-appraisal-method-realize-appraisal"/>
<button name="cancelAppraisalBtn" title="Cancel" showIf="statusSelect &lt; 2" css="btn-danger" onClick="save,action-appraisal-method-cancel-appraisal"/>
<button name="draftAppraisalBtn" title="Draft" showIf="statusSelect == 3" onClick="save,action-appraisal-method-draft-appraisal"/>
</panel>
</panel>
<panel name="detailPanel">
<field name="employee" required="true" canView="false" onChange="action-appraisal-record-set-company-employee-onchange"/>
<field name="company" canEdit="false" canNew="false"/>
<field name="appraisalType" canEdit="false" canNew="false"/>
<field name="toDate" />
<field name="reviewerEmployee" canEdit="false" canNew="false"/>
<field name="description" colSpan="12" widget="html"/>
<field name="attrs" colSpan="12"/>
</panel>
<panel-mail name="mailPanel">
<mail-messages limit="4" />
<mail-followers />
</panel-mail>
</form>
<form name="appraisal-template-form" title="Appraisal template" model="com.axelor.apps.talent.db.Appraisal" width="large" onNew="action-appraisal-template-defaults">
<panel name="mainPanel">
<field name="company" />
<field name="appraisalType" />
<field name="toDate" />
<field name="reviewerEmployee" />
<field name="description" colSpan="12" widget="html"/>
<field name="attrs" colSpan="12"/>
<button name="openEmployeeSelectBtn" title="Create Appraisals" onClick="save,action-appraisal-template-open-employee-selection" colSpan="3" />
<field name="isTemplate" hidden="true" />
</panel>
</form>
<form name="appraisal-employee-select-form" title="Create Appraisals(Select Employees)" model="com.axelor.apps.talent.db.Appraisal"
onNew="action-appraisal-employee-select-default" width="large">
<panel name="mainPanel">
<field name="$employeeSet" type="many-to-many" colSpan="12" target="com.axelor.apps.hr.db.Employee" title="Employees"/>
<field name="sendAppraisals" type="boolean" title="Send" colSpan="2"/>
<button name="createAppraisalsBtn" title="Create" onClick="action-appraisal-template-method-create-appraisals" showIf="$employeeSet.length > 0" colSpan="3"/>
<field name="templateId" type="long" hidden="true" />
</panel>
</form>
<calendar name="appraisal-calendar" model="com.axelor.apps.talent.db.Appraisal" eventStart="toDate" title="Appraisals" colorBy="statusSelect">
<field name="employee"/>
</calendar>
<action-method name="action-appraisal-method-send-appraisal">
<call class="com.axelor.apps.talent.web.AppraisalController" method="send"/>
</action-method>
<action-method name="action-appraisal-method-realize-appraisal">
<call class="com.axelor.apps.talent.web.AppraisalController" method="realize"/>
</action-method>
<action-method name="action-appraisal-method-cancel-appraisal">
<call class="com.axelor.apps.talent.web.AppraisalController" method="cancel"/>
</action-method>
<action-method name="action-appraisal-method-draft-appraisal">
<call class="com.axelor.apps.talent.web.AppraisalController" method="draft"/>
</action-method>
<action-view name="action-appraisal-template-open-employee-selection" model="com.axelor.apps.talent.db.Appraisal" title="Create Appraisal(Select Employees)">
<view type="form" name="appraisal-employee-select-form"/>
<view-param name="popup" value="reload"/>
<view-param name="popup-save" value="false"/>
<view-param name="show-toolbar" value="false" />
<view-param name="show-confirm" value="false"/>
<context name="_templateId" expr="eval:id"/>
</action-view>
<action-method name="action-appraisal-template-method-create-appraisals">
<call class="com.axelor.apps.talent.web.AppraisalController" method="createAppraisals" />
</action-method>
<action-record name="action-appraisal-employee-select-default" model="com.axelor.apps.talent.db.Appraisal">
<field name="templateId" expr="eval:_templateId"/>
</action-record>
<action-record name="action-appraisal-template-defaults" model="com.axelor.apps.talent.db.Appraisal">
<field name="isTemplate" expr="eval:true"/>
</action-record>
<action-record name="action-appraisal-record-set-company-employee-onchange" model="com.axelor.apps.talent.db.Appraisal">
<field name="company" expr="eval:employee?.mainEmploymentContract?.payCompany"/>
</action-record>
<search-filters name="appraisal-fitlers" model="com.axelor.apps.talent.db.Appraisal" title="Appraisal filters">
<filter title="New appraisal">
<domain>self.isTemplate = false and self.statusSelect = 0</domain>
</filter>
<filter title="Upcoming appraisal">
<domain>self.isTemplate = false and self.statusSelect = 1</domain>
</filter>
<filter title="My upcoming appraisal">
<domain>self.employee.user.id = :_userId and self.isTemplate = false and self.statusSelect = 1</domain>
</filter>
<filter title="My completed appraisals">
<domain>self.employee.user.id = :_userId and self.isTemplate = false and self.statusSelect = 2</domain>
</filter>
<filter title="Upcoming appraisals of all employees of a team">
<domain>self.employee.user.id in :_teamUserIds and self.isTemplate = false and self.statusSelect = 1</domain>
</filter>
<filter title="Completed trainings of all employees of a team">
<domain>self.employee.user.id in :_teamUserIds and self.isTemplate = false and self.statusSelect = 2</domain>
</filter>
</search-filters>
</object-views>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="appraisal-type-grid" title="Appraisal types" model="com.axelor.apps.talent.db.AppraisalType">
<field name="name" />
</grid>
<form name="appraisal-type-form" title="Appraisal type" model="com.axelor.apps.talent.db.AppraisalType" width="large">
<panel name="namePanel">
<field name="name" />
</panel>
</form>
</object-views>

View File

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<chart name="chart.employee.training.per.category" title="Training per category">
<dataset type="jpql"><![CDATA[
SELECT
COUNT(*) AS _total,
self.training.category.name AS _category,
YEAR(self.fromDate) as _year
FROM
TrainingRegister self
WHERE
YEAR(self.fromDate) >= (YEAR(CURRENT_DATE)-3)
AND self.employee =:id
GROUP BY
self.training.category.name,
YEAR(self.fromDate)
ORDER BY
YEAR(self.fromDate)
]]></dataset>
<category key="_category" type="text" title="Training"/>
<series key="_total" type="bar" title="Total" groupBy="_year" />
</chart>
<chart name="chart.nb.hours.per.category" title="Nb. hours per category" onInit="action-training-chart-set-default-from-to-dates">
<search-fields>
<field name="fromDate" title="From" type="date" required="true" />
<field name="toDate" title="To" type="date" required="true" />
</search-fields>
<dataset type="jpql"><![CDATA[
SELECT
SUM(self.duration) AS _nbHours,
self.training.category.name AS _category
FROM
TrainingSession self
WHERE
self.fromDate >= :fromDate AND self.toDate <= :toDate
AND self.statusSelect = 2
GROUP BY
self.training.category.name
]]></dataset>
<category key="_category" type="text" title="Category"/>
<series key="_nbHours" type="bar" title="Nb Hours"/>
</chart>
<chart name="chart.nb.hours.per.training" title="Nb. hours per training" onInit="action-training-chart-set-default-from-to-dates">
<search-fields>
<field name="fromDate" title="From" type="date" required="true" />
<field name="toDate" title="To" type="date" required="true" />
</search-fields>
<dataset type="jpql"><![CDATA[
SELECT
SUM(self.duration) AS _nbHours,
self.training.name AS _training
FROM
TrainingSession self
WHERE
self.fromDate >= :fromDate AND self.toDate <= :toDate
AND self.statusSelect = 2
GROUP BY
self.training.name
]]></dataset>
<category key="_training" type="text" title="Training"/>
<series key="_nbHours" type="bar" title="Nb Hours" />
</chart>
<chart name="chart.nb.trained.employee.per.category" title="Nb. of trained employee per category" onInit="action-training-chart-set-default-from-to-dates">
<search-fields>
<field name="fromDate" title="From" type="date" required="true" />
<field name="toDate" title="To" type="date" required="true" />
</search-fields>
<dataset type="jpql"><![CDATA[
SELECT
COUNT(*) AS _nbEmployee,
self.training.category.name AS _category
FROM
TrainingRegister self
WHERE
self.fromDate >= :fromDate AND self.toDate <= :toDate
AND self.statusSelect = 2
GROUP BY
self.training.category.name,
self.employee
]]></dataset>
<category key="_category" type="text" title="Category"/>
<series key="_nbEmployee" type="bar" title="Nb Employee" />
</chart>
<chart name="chart.nb.training.hours.per.month" title="Nb of training hours per month" onInit="action-training-chart-set-3-month-from-to-dates">
<search-fields>
<field name="fromDate" title="From" type="date" required="true" />
<field name="toDate" title="To" type="date" required="true" />
</search-fields>
<dataset type="jpql"><![CDATA[
SELECT
SUM(self.duration) AS _nbHours,
CONCAT(MONTH(self.fromDate),'-',YEAR(self.fromDate)) AS _month
FROM
TrainingSession self
WHERE
self.fromDate >= :fromDate AND self.toDate <= :toDate
AND self.statusSelect = 2
GROUP BY
CONCAT(MONTH(self.fromDate),'-',YEAR(self.fromDate))
ORDER BY
CONCAT(MONTH(self.fromDate),'-',YEAR(self.fromDate))
]]></dataset>
<category key="_month" type="text" title="Month"/>
<series key="_nbHours" type="bar" title="Nb Hours" />
</chart>
<action-attrs name="action-training-chart-set-default-from-to-dates">
<attribute name="value" for="fromDate" expr="eval:__date__.withDayOfMonth(1)"/>
<attribute name="value" for="toDate" expr="eval:__date__"/>
</action-attrs>
<action-attrs name="action-training-chart-set-3-month-from-to-dates">
<attribute name="value" for="fromDate" expr="eval:__date__.minusMonths(3)"/>
<attribute name="value" for="toDate" expr="eval:__date__"/>
</action-attrs>
</object-views>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<!-- Dashboard Manager -->
<dashboard title="Dashboard" name="training.dashboard" >
<dashlet action="chart:chart.nb.hours.per.category" height="350" />
<dashlet action="chart:chart.nb.hours.per.training" height="350" />
<dashlet action="chart:chart.nb.trained.employee.per.category" height="350" />
<dashlet action="chart:chart.nb.training.hours.per.month" height="350" />
</dashboard>
</object-views>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="education-level-grid" title="Education level" model="com.axelor.apps.talent.db.EducationLevel">
<field name="name" />
</grid>
<form name="education-level-form" title="Education level" model="com.axelor.apps.talent.db.EducationLevel" width="large">
<panel name="namePanel">
<field name="name" />
</panel>
</form>
</object-views>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<form name="talent-employee-form" title="Employee" model="com.axelor.apps.hr.db.Employee">
<panel name="skillsPanel" title="Skills" if="__config__.app.isApp('training')">
<field name="trainingSkillSet" colSpan="12"/>
<field name="experienceSkillSet" colSpan="12"/>
<field name="skillSet" colSpan="12"/>
</panel>
<panel name="trainingPanel" title="Training" if="__config__.app.isApp('training')">
<panel-dashlet name="employeeTrainingRegisterPanel" action="action-dashlet-employee-training-register" colSpan="12"/>
<panel-dashlet name="employeeTrainingPerCategoryPanel" action="chart:chart.employee.training.per.category" colSpan="12"/>
</panel>
<panel name="appraisalPanel" title="Appraisal" if="__config__.app.isApp('appraisal')">
<panel-dashlet name="employeeAppraisalSentPanel" action="action-dashlet-employee-appraisal-sent" colSpan="12"/>
</panel>
</form>
<action-view name="action-dashlet-employee-training-register" title="Training Register" model="com.axelor.apps.talent.db.TrainingRegister">
<view type="grid" name="training-register-grid"/>
<view type="form" name="training-register-form"/>
<domain>self.employee = :__self__</domain>
</action-view>
<action-view name="action-dashlet-employee-appraisal-sent" title="Appraisals" model="com.axelor.apps.talent.db.Appraisal">
<view type="grid" name="appraisal-grid"/>
<view type="form" name="appraisal-form"/>
<domain>self.employee = :__self__</domain>
</action-view>
</object-views>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="hiring-stage-grid" title="Hiring Stage" model="com.axelor.apps.talent.db.HiringStage" canMove="true" orderBy="sequence" >
<field name="sequence" />
<field name="name" />
</grid>
<form name="hiring-stage-form" title="Hiring Stage" model="com.axelor.apps.talent.db.HiringStage" width="large">
<panel name="mainPanel">
<field name="sequence" />
<field name="name" />
</panel>
</form>
</object-views>

View File

@ -0,0 +1,155 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="job-application-grid" title="Job applications" model="com.axelor.apps.talent.db.JobApplication">
<field name="lastName" />
<field name="firstName" />
<field name="emailAddress" />
<field name="fixedPhone" />
<field name="mobilePhone" />
<field name="jobPosition" />
<field name="statusSelect" />
</grid>
<form name="job-application-form" title="Job application" model="com.axelor.apps.talent.db.JobApplication" width="large"
onNew="action-job-application-defaults" onLoad="action-talent-method-set-social-network-url">
<menubar>
<menu name="jobApplicationToolsMenu" title="Tools" icon="fa-wrench" showTitle="true">
<item name="scheduleEventItem" title="Schedule Event" action="save,action-job-application-schedule-event" readonlyIf="id == null"/>
</menu>
</menubar>
<panel name="mainPanel" readonlyIf="statusSelect == 3">
<field name="statusSelect" widget="NavSelect" showTitle="false" colSpan="8" readonly="true"/>
<field name="hiringStage" colSpan="4" widget="SuggestBox" canEdit="false"/>
<panel name="imagePanel" colSpan="4">
<field name="picture" widget="Image" colSpan="12" showTitle="false">
<viewer>
<![CDATA[
<img ng-show="record.picture" ng-src="{{$image('picture', 'content')}}" />
<img ng-show="!record.picture" src="img/partner-default.png" />
]]>
</viewer>
</field>
</panel>
<panel name="namePanel" colSpan="8">
<field name="titleSelect" selection-in="[1,2]"/>
<spacer/>
<field name="firstName" onChange="action-talent-method-set-social-network-url"/>
<field name="lastName" required="true" onChange="action-talent-method-set-social-network-url"/>
<field name="employee" showIf="statusSelect == 1" />
</panel>
</panel>
<panel sidebar="true" name="actionsPanel">
<button name="openBtn" title="Open" onClick="save,action-job-application-status-open,save" colSpan="12" hideIf="statusSelect == 0"/>
<button name="rejectBtn" title="Rejected" onClick="save,action-job-application-status-reject,save" colSpan="12" showIf="statusSelect == 0"/>
<button name="hireBtn" title="Hire" onClick="save,action-job-application-confirmation,action-job-application-method-hire" colSpan="12" showIf="statusSelect == 0"/>
<button name="cancelBtn" title="Cancel" onClick="save,action-job-application-status-cancel,save" colSpan="12" icon="fa-times-circle" css="btn-danger" hideIf="statusSelect == 1 || statusSelect == 3"/>
</panel>
<panel sidebar="true" name="JobOfferInformationPanel" title="Job Offer Information" readonlyIf="statusSelect == 3">
<field name="jobPosition" colSpan="6" canEdit="false"/>
<field name="jobPosition.statusSelect" colSpan="6"/>
<field name="responsible" colSpan="6" canEdit="false"/>
<field name="jobPosition.companyDepartment" colSpan="6"/>
<field name="jobPosition.publicationDate" colSpan="6"/>
</panel>
<panel sidebar="true" name="applicationInformationPanel" title="Application Information" readonlyIf="statusSelect == 3">
<field name="educationLevel" colSpan="6"/>
<field name="experienceSelect" colSpan="6"/>
<field name="industrySectorSet" widget="TagSelect" colSpan="6"/>
<field name="talentSource" title="Source" colSpan="6"/>
<field name="skillSet" widget="TagSelect" colSpan="6"/>
<field name="referredBy" colSpan="6"/>
<field name="creationDate" colSpan="6"/>
<field name="appreciation" widget="SelectProgress" colSpan="6"/>
</panel>
<panel-tabs name="mainPanelTab" readonlyIf="statusSelect == 3">
<panel name="descriptionPanel" title="Description">
<field name="description" widget="html" colSpan="12" />
</panel>
<panel name="contactPanel" title="Contact" colSpan="12">
<panel name="contactDetailsPanel" title="Contact details" colSpan="12">
<field name="mobilePhone" colSpan="3"/>
<field name="emailAddress" canRemove="false" canSelect="false" canSuggest="false" colSpan="3" canNew="true" canEdit="true">
<editor x-show-titles="false">
<field name="address" colSpan="12" pattern="^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@+[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$" widget="Email" placeholder="user@mydomain.com"/>
</editor>
</field>
<field name="fixedPhone" colSpan="3"/>
<field name="fax" colSpan="3"/>
<field name="linkedInProfile" colSpan="3" widget="url"/>
<label name="linkedinLabel" title="&lt;a class='fa fa-linkedin' href='http://www.linkedin.com' target='_blank' /&gt;" colSpan="2"/>
</panel>
<panel name="primaryAddressPanel" title="Primary Address" colSpan="12">
<field name="employeeAddress" colSpan="12" form-view="address-form" grid-view="address-grid" canNew="true" canEdit="false"/>
</panel>
<field name="fullName" hidden="true" />
</panel>
<panel name="contractPanel" title="Contract" colSpan="12">
<field name="jobPosition.contractType" />
<field name="expectedSalary" />
<field name="proposedSalary" />
<field name="availabilityFrom" />
</panel>
<panel-dashlet name="eventsPanel" title="Events" action="action-job-application-events" colSpan="12" />
<panel name="reasonNotHiredPanel" title="Reason not hired">
<field name="reasonNotHired" colSpan="12" showTitle="false"/>
</panel>
</panel-tabs>
<panel-mail name="mailPanel">
<mail-messages limit="4" />
<mail-followers />
</panel-mail>
</form>
<action-view name="action-job-application-schedule-event" title="Schedule Event" model="com.axelor.apps.crm.db.Event">
<view type="form" name="event-form"/>
<context name="_relatedToSelect" expr="eval:'com.axelor.apps.talent.db.JobApplication'" />
<context name="_relatedToSelectId" expr="eval:id" />
</action-view>
<action-view name="action-job-application-events" model="com.axelor.apps.crm.db.Event" title="Events">
<view type="grid" name="event-grid"/>
<view type="form" name="event-form"/>
<domain>self.relatedToSelect = 'com.axelor.apps.talent.db.JobApplication' and self.relatedToSelectId = :id</domain>
</action-view>
<action-record name="action-job-application-defaults" model="com.axelor.apps.talent.db.JobApplication">
<field name="jobPosition" expr="eval:__repo__(JobPosition).find(_jobPositionId)"/>
<field name="responsible" expr="eval:__repo__(Employee).find(_responsibleId)" />
</action-record>
<action-method name="action-job-application-method-hire">
<call class="com.axelor.apps.talent.web.JobApplicationController" method="hire"/>
</action-method>
<action-attrs name="action-job-application-status-cancel">
<attribute name="value" for="statusSelect" expr="eval: 3"/>
</action-attrs>
<action-attrs name="action-job-application-status-open">
<attribute name="value" for="statusSelect" expr="eval: 0"/>
</action-attrs>
<action-attrs name="action-job-application-status-reject">
<attribute name="value" for="statusSelect" expr="eval: 2"/>
</action-attrs>
<action-validate name="action-job-application-confirmation">
<alert message="A new employee form will be created. Do you confirm the creation ?"/>
</action-validate>
<action-method name="action-talent-method-set-social-network-url">
<call class="com.axelor.apps.talent.web.JobApplicationController" method="setSocialNetworkUrl"/>
</action-method>
<search-filters name="job-application-filters" model="com.axelor.apps.talent.db.JobApplication" title="Job Application Filters">
<filter title="Current applications">
<domain>self.statusSelect = 0</domain>
</filter>
</search-filters>
</object-views>

View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="job-position-grid" title="Job positions" model="com.axelor.apps.talent.db.JobPosition">
<field name="jobReference" width="120"/>
<field name="jobTitle" />
<field name="companyDepartment" />
<field name="employee" />
<field name="contractType" />
<field name="statusSelect" />
</grid>
<form name="job-position-form" title="Job position" model="com.axelor.apps.talent.db.JobPosition" width="large">
<toolbar>
<button name="createJobApplicationBtn" title="Create a job application" colSpan="3" onClick="save,action-job-position-create-application"/>
</toolbar>
<panel name="mainPanel" readonlyIf="statusSelect == 4">
<field name="statusSelect" widget="NavSelect" readonly="true" colSpan="12" showTitle="false"/>
<field name="jobReference" colSpan="4" showTitle="false"/>
<field name="jobTitle" colSpan="12" showTitle="false" css="label-bold bold large" placeholder="Job title"/>
<spacer name="jobTitleSpacer"/>
<field name="company" />
<field name="location" />
<field name="companyDepartment" />
<field name="employee" />
<field name="nbOpenJob" />
<field name="nbPeopleHired" />
<field name="mailAccount" domain="self.isValid = true and self.serverTypeSelect &gt; 1" />
<field name="publicationDate" colSpan="6"/>
<field name="jobDescription" widget="html" colSpan="6" />
<field name="profileWanted" widget="html" colSpan="6" />
<spacer name="profileWantedSpacer" />
<panel-dashlet name="allApplicationsPanel" action="action-job-position-all-applications" colSpan="12" title="All applications"/>
</panel>
<panel name="buttonPanel" sidebar="true">
<button name="statusDraftBtn" title="Draft" onClick="save,action-job-position-record-status-draft,save" showIf="statusSelect == 4" colSpan="12"/>
<button name="statusOpenBtn" title="Open" onClick="save,action-job-position-record-status-open,save" showIf="statusSelect == 0" colSpan="12"/>
<button name="statusOnHoldBtn" title="On hold" onClick="save,action-job-position-record-status-onhold,save" showIf="statusSelect == 1" colSpan="12"/>
<button name="statusClosedBtn" title="Close" onClick="save,action-job-position-record-status-closed,save" showIf="statusSelect == 1 || statusSelect == 2" colSpan="12"/>
<button name="cancelBtn" title="Cancel" onClick="save,action-job-position-record-status-cancel,save" hideIf="statusSelect == 4" colSpan="12" icon="fa-times-circle" css="btn-danger"/>
</panel>
<panel name="otherDetailPanel" sidebar="true" readonlyIf="statusSelect == 4">
<field name="contractType" colSpan="6"/>
<field name="positionStatusSelect" colSpan="6"/>
<field name="experienceSelect" colSpan="6"/>
<field name="salary" colSpan="6"/>
<field name="startingDate" colSpan="6"/>
</panel>
</form>
<cards name="job-position-cards" model="com.axelor.apps.talent.db.JobPosition" title="Job positions">
<field name="jobTitle" />
<field name="jobReference" />
<template><![CDATA[
<div>
<div class="span12">
<span><strong>{{jobTitle}}</strong></span>
<br/>
<span><strong>{{jobReference}}</strong></span>
</div>
</div>
]]>
</template>
</cards>
<action-view name="action-job-position-all-applications" title="All applications" model="com.axelor.apps.talent.db.JobApplication">
<view type="grid" name="job-application-grid"/>
<view type="form" name="job-application-form"/>
<domain>self.jobPosition.id = :_jobPositionId</domain>
<context name="_jobPositionId" expr="eval:id"/>
</action-view>
<action-view name="action-job-position-create-application" title="Job Application" model="com.axelor.apps.talent.db.JobApplication">
<view type="form" name="job-application-form"/>
<view type="grid" name="job-application-grid"/>
<domain>self.jobPosition.id = :_jobPositionId</domain>
<context name="_jobPositionId" expr="eval:id"/>
<context name="_responsibleId" expr="eval:employee.id"/>
</action-view>
<action-record name="action-job-position-record-status-draft" model="com.axelor.apps.talent.db.JobPosition">
<field name="statusSelect" expr="eval: 0"/>
</action-record>
<action-record name="action-job-position-record-status-open" model="com.axelor.apps.talent.db.JobPosition">
<field name="statusSelect" expr="eval: 1"/>
</action-record>
<action-record name="action-job-position-record-status-onhold" model="com.axelor.apps.talent.db.JobPosition">
<field name="statusSelect" expr="eval: 2"/>
</action-record>
<action-record name="action-job-position-record-status-closed" model="com.axelor.apps.talent.db.JobPosition">
<field name="statusSelect" expr="eval: 3"/>
</action-record>
<action-record name="action-job-position-record-status-cancel" model="com.axelor.apps.talent.db.JobPosition">
<field name="statusSelect" expr="eval: 4"/>
</action-record>
<search-filters name="job-position-filters" model="com.axelor.apps.talent.db.JobPosition" title="Job Position Filters">
<filter title="Current job offers">
<domain>self.statusSelect &lt; 3</domain>
</filter>
<filter title="Closed job offers">
<domain>self.statusSelect &gt; 2</domain>
</filter>
</search-filters>
</object-views>

View File

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<!-- Recruitment menus -->
<menuitem name="recruitment-root" parent="hr-root" if="__config__.app.isApp('recruitment')" title="Recruitment" icon="fa-handshake-o" icon-background="#84429f" />
<menuitem name="recruitment-job-position-open" parent="recruitment-root" title="Job positions" action="recruitment.job.position.open" />
<action-view name="recruitment.job.position.open" model="com.axelor.apps.talent.db.JobPosition" title="Job positions">
<view name="job-position-cards" type="cards" />
<view name="job-position-grid" type="grid" />
<view name="job-position-form" type="form" />
<view-param name="search-filters" value="job-position-filters"/>
</action-view>
<menuitem name="recruitment-job-application-all" parent="recruitment-root" title="Applications" action="recruitment.job.application.all" />
<action-view name="recruitment.job.application.all" model="com.axelor.apps.talent.db.JobApplication" title="Applications">
<view name="job-application-grid" type="grid" />
<view name="job-application-form" type="form" />
<view-param name="search-filters" value="job-application-filters"/>
</action-view>
<menuitem name="recruitment-config" parent="recruitment-root" title="Configuration" icon="fa-cog"/>
<menuitem name="recruitment-config-education-level" parent="recruitment-config" title="Level of education" action="recruitment.config.education.level" />
<action-view name="recruitment.config.education.level" model="com.axelor.apps.talent.db.EducationLevel" title="Level of education">
<view name="education-level-grid" type="grid" />
<view name="education-level-form" type="form" />
</action-view>
<menuitem name="recruitment-config-hiring-stage" parent="recruitment-config" title="Hiring Stage" action="recruitment.config.hiringStage" />
<action-view name="recruitment.config.hiringStage" model="com.axelor.apps.talent.db.HiringStage" title="Hiring Stage">
<view name="hiring-stage-grid" type="grid" />
<view name="hiring-stage-form" type="form" />
</action-view>
<menuitem name="recruitment-config-source" parent="recruitment-config" title="Source" action="recruitment.config.source" />
<action-view name="recruitment.config.source" model="com.axelor.apps.talent.db.TalentSource" title="Source">
<view name="talent-source-grid" type="grid" />
<view name="talent-source-form" type="form" />
</action-view>
<menuitem name="recruitment-config-skill" parent="recruitment-config" title="Skills" action="recruitment.config.skill"/>
<action-view name="recruitment.config.skill" title="Skills" model="com.axelor.apps.talent.db.Skill">
<view type="grid" name="tag-skill-grid"/>
<view type="form" name="tag-skill-form"/>
</action-view>
<!-- Training menus -->
<menuitem name="training-root" parent="hr-root" if="__config__.app.isApp('training')" title="Training" icon="fa-graduation-cap" icon-background="#84429f"/>
<menuitem name="training-register-all" parent="training-root" title="All trainings" action="training.register.all" />
<action-view name="training.register.all" model="com.axelor.apps.talent.db.TrainingRegister" title="All trainings">
<view name="training-register-grid" type="grid" />
<view name="training-register-form" type="form" />
<view-param name="search-filters" value="my-training-register-fitlers"/>
<context name="_employeeId" expr="eval:__user__.employee?.id" />
<context name="_employeeList" expr="eval:([0] + __user__.teamSet.members.employee.id).flatten()" />
</action-view>
<menuitem name="training-dashboard" parent="training-root" title="Training dashboard" action="training.dashboard" />
<action-view name="training.dashboard" title="Training dashboard">
<view type="dashboard" name="training.dashboard"/>
</action-view>
<menuitem name="training-conf" parent="training-root" title="Configuration" icon="fa-cog"/>
<menuitem name="training-category-all" parent="training-conf" title="Categories" action="training.category.all" />
<action-view name="training.category.all" model="com.axelor.apps.talent.db.TrainingCategory" title="Categories">
<view name="training-category-grid" type="grid" />
<view name="training-category-form" type="form" />
</action-view>
<menuitem name="training-training-all" parent="training-conf" title="Trainings" action="training.training.all" />
<action-view name="training.training.all" model="com.axelor.apps.talent.db.Training" title="Trainings">
<view name="training-grid" type="grid" />
<view name="training-form" type="form" />
</action-view>
<menuitem name="training-session-all" parent="training-conf" title="Training sessions" action="training.session.all" />
<action-view name="training.session.all" model="com.axelor.apps.talent.db.TrainingSession" title="Training sessions">
<view name="training-session-grid" type="grid" />
<view name="training-session-form" type="form" />
</action-view>
<!-- Appraisal menus-->
<menuitem name="appraisal-root" parent="hr-root" title="Appraisals" if="__config__.app.isApp('appraisal')" icon="fa-comments-o" icon-background="#84429f"/>
<menuitem name="appraisal-all-appraisals" title="Appraisals" action="appraisal.all.appraisals" parent="appraisal-root" />
<action-view name="appraisal.all.appraisals"
model="com.axelor.apps.talent.db.Appraisal" title="Appraisals">
<view name="appraisal-grid" type="grid" />
<view name="appraisal-form" type="form" />
<view-param name="search-filters" value="appraisal-fitlers" />
<domain>self.isTemplate = false</domain>
<context name="_userId" expr="eval:__user__.id" />
<context name="_teamUserIds" expr="eval:([0] + __user__.teamSet.members.id).flatten()" />
</action-view>
<menuitem name="appraisal-config" title="Configuration" parent="appraisal-root" icon="fa-cog"/>
<menuitem name="appraisal-template-appraisals" title="Appraisal templates" action="appraisal.template.appraisals" parent="appraisal-config" />
<action-view name="appraisal.template.appraisals" title="Appraisal template" model="com.axelor.apps.talent.db.Appraisal">
<view type="grid" name="appraisal-template-grid"/>
<view type="form" name="appraisal-template-form"/>
<domain>self.isTemplate = true</domain>
</action-view>
<menuitem name="appraisal-config-appraisal-type" title="Appraisal types" action="appraisal.config.appraisal.type" parent="appraisal-config" />
<action-view name="appraisal.config.appraisal.type" title="Appraisal types" model="com.axelor.apps.talent.db.AppraisalType">
<view type="grid" name="appraisal-type-grid"/>
<view type="form" name="appraisal-type-form"/>
</action-view>
</object-views>

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<selection name="training.register.rating.select">
<option value="0">0 %</option>
<option value="10">10 %</option>
<option value="20">20 %</option>
<option value="30">30 %</option>
<option value="40">40 %</option>
<option value="50">50 %</option>
<option value="60">60 %</option>
<option value="70">70 %</option>
<option value="80">80 %</option>
<option value="90">90 %</option>
<option value="100">100 %</option>
</selection>
<selection name="training.register.status.select">
<option value="0">Requested</option>
<option value="1">Planned</option>
<option value="2">Completed</option>
<option value="3">Canceled</option>
</selection>
<selection name="training.session.status.select">
<option value="1">Planned</option>
<option value="2">Completed</option>
<option value="3">Canceled</option>
</selection>
<selection name="job.position.experience.select">
<option value="0">0-2 years</option>
<option value="1">2-5 years</option>
<option value="2">5-10 years</option>
<option value="3">+10 years</option>
</selection>
<selection name="job.position.status.select">
<option value="0">Draft</option>
<option value="1">Open</option>
<option value="2">On hold</option>
<option value="3">Closed</option>
<option value="4">Cancel</option>
</selection>
<selection name="job.application.status.select">
<option value="0">Opened</option>
<option value="1">Hired</option>
<option value="2">Rejected</option>
<option value="3">Cancelled</option>
</selection>
<selection name="crm.event.related.to.select" id="talent.crm.event.related.to.select">
<option value="com.axelor.apps.talent.db.JobApplication">Job Application</option>
<option value="com.axelor.apps.talent.db.TrainingRegister">Training Register</option>
</selection>
<selection name="appraisal.status.selected">
<option value="0">Draft</option>
<option value="1">Sent</option>
<option value="2">Completed</option>
<option value="3">Canceled</option>
</selection>
<selection name="job.position.position.status">
<option value="0">Cadre</option>
<option value="1">Technicien</option>
</selection>
</object-views>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="tag-skill-grid" title="Tag skills" model="com.axelor.apps.talent.db.Skill">
<field name="name" />
</grid>
<form name="tag-skill-form" title="Tag skill" model="com.axelor.apps.talent.db.Skill" width="large">
<panel name="namePanel">
<field name="name" />
</panel>
</form>
</object-views>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="talent-source-grid" title="Source" model="com.axelor.apps.talent.db.TalentSource">
<field name="code" x-bind="{{code|unaccent|uppercase}}" />
<field name="name" />
</grid>
<form name="talent-source-form" title="Source" model="com.axelor.apps.talent.db.TalentSource" width="large">
<panel name="mainPanel">
<field name="code" x-bind="{{code|unaccent|uppercase}}" />
<field name="name" />
</panel>
</form>
</object-views>

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="training-grid" title="Trainings" model="com.axelor.apps.talent.db.Training">
<field name="name" />
<field name="category" />
<field name="company" if="__config__.app.getApp('base').getEnableMultiCompany()"/>
<field name="duration" />
<field name="mandatoryTraining" />
</grid>
<form name="training-form" title="Training" model="com.axelor.apps.talent.db.Training" width="large"
onNew="action-training-set-default" readonlyIf="$popup()" >
<panel name="mainPanel">
<field name="name" />
<field name="category" />
<field name="company" />
<field name="duration" />
<field name="mandatoryTraining" colSpan="4" />
<field name="skillSet" colSpan="8" widget="tag-select" />
<field name="requiredTrainingSet" colSpan="12" />
<field name="description" colSpan="12" />
<field name="program" colSpan="12" widget="html" />
<field name="objectives" colSpan="12" />
<button name="registerTrainingBtn" title="Register training" onClick="action-training-register-training" colSpan="4" />
<field name="rating" widget="progress" readonly="true" colSpan="8" />
</panel>
</form>
<action-record name="action-training-set-default" model="com.axelor.apps.talent.db.Training">
<field name="company" expr="eval:__user__.activeCompany"/>
</action-record>
<action-view name="action-training-register-training" title="Register training" model="com.axelor.apps.talent.db.TrainingRegister">
<view type="form" name="training-register-form"/>
<view type="grid" name="training-register-grid"/>
<context name="_training" expr="eval:__self__"/>
</action-view>
</object-views>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="training-category-grid" title="Training Categories" model="com.axelor.apps.talent.db.TrainingCategory">
<field name="name" />
</grid>
<form name="training-category-form" title="Training Category" model="com.axelor.apps.talent.db.TrainingCategory" width="large">
<panel name="namePanel">
<field name="name" />
</panel>
</form>
</object-views>

View File

@ -0,0 +1,103 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="training-register-grid" title="Training registers" model="com.axelor.apps.talent.db.TrainingRegister">
<field name="training" />
<field name="trainingSession" />
<field name="employee" />
<field name="fromDate" />
<field name="toDate" />
<field name="statusSelect" />
<field name="ratingSelect" widget="SelectProgress"/>
</grid>
<form name="training-register-form" title="Training register" model="com.axelor.apps.talent.db.TrainingRegister" width="large"
onNew="action-training-register-default" onSave="action-group-training-register-save-click">
<panel name="statusPanel" title="Status">
<field name="statusSelect" widget="NavSelect" readonly="true" colSpan="12" showTitle="false"/>
</panel>
<panel name="detailPanel">
<field name="training" />
<field name="trainingSession" onChange="action-training-session-change" onSelect="action-training-register-training-session-domain"/>
<field name="employee" />
<spacer name="employeeSpacer"/>
<field name="fromDate" />
<field name="toDate" />
</panel>
<panel name="actionPanel" itemSpan="12" sidebar="true">
<button name="planBtn" title="Accept/plan" showIf="statusSelect == 0" onClick="save,action-training-register-method-plan"/>
<button name="completeBtn" title="Training completed" showIf="statusSelect == 1" onClick="save,action-training-register-method-complete"/>
<button name="cancelBtn" title="Cancel" onClick="save,action-training-register-method-cancel"/>
<field name="ratingSelect" widget="SelectProgress"/>
<field name="calendar"/>
</panel>
</form>
<calendar name="training-register-calendar" model="com.axelor.apps.talent.db.TrainingRegister" eventStart="fromDate" eventStop="toDate" title="Training register" colorBy="statusSelect">
<field name="training"/>
<field name="statusSelect"/>
<field name="ratingSelect" />
</calendar>
<action-record name="action-training-session-change" model="com.axelor.apps.talent.db.TrainingRegister">
<field name="training" expr="eval:trainingSession.training" if="training == null"/>
<field name="fromDate" expr="eval:trainingSession?.fromDate" if="trainingSession != null"/>
<field name="toDate" expr="eval:trainingSession?.toDate" if="trainingSession != null"/>
</action-record>
<action-record name="action-training-register-default" model="com.axelor.apps.talent.db.TrainingRegister">
<field name="training" expr="eval:_training" />
<field name="employee" expr="eval:__user__.employee" />
<field name="trainingSession" expr="eval:_trainingSession" />
<field name="fromDate" expr="eval:_fromDate"/>
<field name="toDate" expr="eval:_toDate"/>
</action-record>
<action-attrs name="action-training-register-training-session-domain">
<attribute name="domain" for="trainingSession" expr="eval:&quot;self.training.id = ${training.id}&quot;" if="training != null"/>
<attribute name="domain" for="trainingSession" expr="eval:null" if="training == null"/>
</action-attrs>
<action-method name="action-training-register-method-plan">
<call class="com.axelor.apps.talent.web.TrainingRegisterController" method="plan"/>
</action-method>
<action-method name="action-training-register-method-update-event-calendar">
<call class="com.axelor.apps.talent.web.TrainingRegisterController" method="updateEventCalendar"/>
</action-method>
<action-method name="action-training-register-method-complete">
<call class="com.axelor.apps.talent.web.TrainingRegisterController" method="complete"/>
</action-method>
<action-method name="action-training-register-method-cancel">
<call class="com.axelor.apps.talent.web.TrainingRegisterController" method="cancel"/>
</action-method>
<action-method name="action-training-register-update-old-rating">
<call class="com.axelor.apps.talent.web.TrainingRegisterController" method="updateOldRating"/>
</action-method>
<search-filters name="my-training-register-fitlers" model="com.axelor.apps.talent.db.Appraisal" title="My traning filters">
<filter title="My upcoming trainings">
<domain>self.employee.id = :_employeeId and self.statusSelect = 1</domain>
</filter>
<filter title="My completed trainings">
<domain>self.employee.id = :_employeeId and self.statusSelect = 2</domain>
</filter>
<filter title="Upcoming trainings of all employees of a team">
<domain>self.employee.id in :_employeeList and self.statusSelect = 1</domain>
</filter>
<filter title="Completed trainings of all employees of a team">
<domain>self.employee.id in :_employeeList and self.statusSelect = 2</domain>
</filter>
</search-filters>
<action-group name="action-group-training-register-save-click">
<action name="action-training-register-update-old-rating"/>
<action if="__this__.calendar != null &amp;&amp; __this__.calendar != __self__?.calendar" name="action-training-register-method-update-event-calendar"/>
</action-group>
</object-views>

View File

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="training-session-grid" title="Training sessions" model="com.axelor.apps.talent.db.TrainingSession">
<field name="training" />
<field name="fromDate" />
<field name="toDate" />
<field name="statusSelect" />
<field name="nbrRegistered" />
<field name="location" />
<field name="rating" widget="progress"/>
</grid>
<form name="training-session-form" title="Training session" model="com.axelor.apps.talent.db.TrainingSession" width="large" readonlyIf="$popup()">
<panel name="statusPanel" title="Status">
<field name="statusSelect" colSpan="12" widget="NavSelect" showTitle="false" />
</panel>
<panel name="detailPanel">
<field name="training" onChange="action-training-session-training-change" />
<field name="location" />
<field name="fromDate" />
<field name="toDate" />
<field name="duration" />
<panel-dashlet name="employeeRegisteredPanel" action="action-dashlet-training-session-employee-registered" colSpan="12"/>
</panel>
<panel name="actionPanel" itemSpan="12" sidebar="true">
<button name="registerTrainingBtn" title="Register training" onClick="save,action-training-session-register-training" showIf="statusSelect == 1"/>
<button name="closeSessionBtn" title="Close session" onClick="save,action-training-session-method-close-session" showIf="statusSelect != 3" />
<field name="nbrRegistered" readonly="true"/>
<field name="rating" widget="progress" readonly="true" />
</panel>
</form>
<action-record name="action-training-session-training-change" model="com.axelor.apps.talent.db.TrainingSession">
<field name="duration" expr="eval:training.duration" if="training != null"/>
</action-record>
<action-view name="action-dashlet-training-session-employee-registered" title="Employee registred" model="com.axelor.apps.hr.db.Employee">
<view type="grid" name="employee-grid"/>
<view type="form" name="employee-form"/>
<view-param name="search-filters" value="employee-filters"/>
<domain>self.id in (:_employeeIds)</domain>
<context name="_employeeIds" expr="eval:[0] + __repo__(TrainingRegister).all().filter('self.trainingSession.id = ' + id).fetch().collect{it->it.employee?.id}"/>
</action-view>
<action-view name="action-training-session-register-training" title="Register training" model="com.axelor.apps.talent.db.TrainingRegister">
<view type="form" name="training-register-form"/>
<view type="grid" name="training-register-grid"/>
<context name="_trainingSession" expr="eval:__self__"/>
<context name="_training" expr="eval:__self__.training"/>
<context name="_fromDate" expr="eval:__self__.fromDate"/>
<context name="_toDate" expr="eval:__self__.toDate"/>
</action-view>
<action-method name="action-training-session-method-close-session">
<call class="com.axelor.apps.talent.web.TrainingSessionController" method="closeSession"/>
</action-method>
</object-views>