Search in sources :

Example 16 with User

use of com.axelor.auth.db.User in project axelor-open-suite by axelor.

the class UserBaseRepository method copy.

@Override
public User copy(User entity, boolean deep) {
    User copy = new User();
    copy.setGroup(entity.getGroup());
    copy.setRoles(entity.getRoles());
    copy.setPermissions(entity.getPermissions());
    copy.setMetaPermissions(entity.getMetaPermissions());
    copy.setActiveCompany(entity.getActiveCompany());
    copy.setCompanySet(entity.getCompanySet());
    copy.setLanguage(entity.getLanguage());
    copy.setHomeAction(entity.getHomeAction());
    copy.setSingleTab(entity.getSingleTab());
    copy.setNoHelp(entity.getNoHelp());
    return super.copy(copy, deep);
}
Also used : User(com.axelor.auth.db.User)

Example 17 with User

use of com.axelor.auth.db.User in project axelor-open-suite by axelor.

the class CalendarConfigurationService method createEntryMenu.

@Transactional
public void createEntryMenu(CalendarConfiguration calendarConfiguration) {
    String menuName = NAME + calendarConfiguration.getName().toLowerCase() + "-" + calendarConfiguration.getId();
    String subName = menuName.replaceAll("[-\\s]", ".");
    String title = calendarConfiguration.getName();
    User user = calendarConfiguration.getCalendarUser();
    Group group = calendarConfiguration.getCalendarGroup();
    MetaAction metaAction = this.createMetaAction("action." + subName, title);
    MetaMenu metaMenu = this.createMetaMenu(menuName, title, metaAction, calendarConfiguration.getParentMetaMenu());
    Beans.get(MetaMenuRepository.class).save(metaMenu);
    Role role = new Role();
    role.setName("role." + subName);
    role.addMenu(metaMenu);
    Beans.get(RoleRepository.class).save(role);
    user.addRole(role);
    Beans.get(UserRepository.class).save(user);
    if (group != null) {
        group.addRole(role);
        Beans.get(GroupRepository.class).save(group);
    }
    calendarConfiguration.setRole(role);
    calendarConfiguration.setMetaAction(metaAction);
    calendarConfigurationRepo.save(calendarConfiguration);
}
Also used : Role(com.axelor.auth.db.Role) Group(com.axelor.auth.db.Group) MetaMenuRepository(com.axelor.meta.db.repo.MetaMenuRepository) User(com.axelor.auth.db.User) UserRepository(com.axelor.auth.db.repo.UserRepository) MetaMenu(com.axelor.meta.db.MetaMenu) MetaAction(com.axelor.meta.db.MetaAction) GroupRepository(com.axelor.auth.db.repo.GroupRepository) RoleRepository(com.axelor.auth.db.repo.RoleRepository) Transactional(com.google.inject.persist.Transactional)

Example 18 with User

use of com.axelor.auth.db.User in project axelor-open-suite by axelor.

the class UserHrController method createUser.

@Transactional
public void createUser(ActionRequest request, ActionResponse response) {
    Context context = request.getContext();
    User user = context.asType(User.class);
    EmployeeRepository employeeRepository = Beans.get(EmployeeRepository.class);
    User employeeUser = new User();
    employeeUser.setActivateOn(user.getActivateOn());
    employeeUser.setExpiresOn(user.getExpiresOn());
    employeeUser.setCode(user.getCode());
    employeeUser.setGroup(user.getGroup());
    if (context.containsKey("_id")) {
        Object employeeId = context.get("_id");
        if (employeeId != null) {
            Employee employee = employeeRepository.find(Long.parseLong(employeeId.toString()));
            employeeUser.setEmployee(employeeRepository.find(employee.getId()));
            if (employee.getContactPartner() != null) {
                String employeeName = employee.getContactPartner().getName();
                if (employee.getContactPartner().getFirstName() != null) {
                    employeeName += " " + employee.getContactPartner().getFirstName();
                }
                employeeUser.setName(employeeName);
                if (employee.getContactPartner().getEmailAddress() != null) {
                    employeeUser.setEmail(employee.getContactPartner().getEmailAddress().getAddress());
                }
            }
            if (employee.getMainEmploymentContract() != null) {
                employeeUser.setActiveCompany(employee.getMainEmploymentContract().getPayCompany());
            }
            List<EmploymentContract> contractList = employee.getEmploymentContractList();
            if (contractList != null && !contractList.isEmpty()) {
                for (EmploymentContract employmentContract : contractList) {
                    employeeUser.addCompanySetItem(employmentContract.getPayCompany());
                }
            }
            CharSequence password = Beans.get(UserService.class).generateRandomPassword();
            employeeUser.setPassword(password.toString());
            employee.setUser(employeeUser);
        }
    }
    Beans.get(UserRepository.class).save(employeeUser);
    response.setCanClose(true);
}
Also used : Context(com.axelor.rpc.Context) EmploymentContract(com.axelor.apps.hr.db.EmploymentContract) EmployeeRepository(com.axelor.apps.hr.db.repo.EmployeeRepository) User(com.axelor.auth.db.User) Employee(com.axelor.apps.hr.db.Employee) UserRepository(com.axelor.auth.db.repo.UserRepository) UserService(com.axelor.apps.base.service.user.UserService) Transactional(com.google.inject.persist.Transactional)

Example 19 with User

use of com.axelor.auth.db.User in project axelor-open-suite by axelor.

the class UserHrController method createEmployee.

@Transactional
public void createEmployee(ActionRequest request, ActionResponse response) {
    User user = Beans.get(UserRepository.class).find(request.getContext().asType(User.class).getId());
    Beans.get(UserHrService.class).createEmployee(user);
    response.setReload(true);
}
Also used : User(com.axelor.auth.db.User) UserRepository(com.axelor.auth.db.repo.UserRepository) UserHrService(com.axelor.apps.hr.service.user.UserHrService) Transactional(com.google.inject.persist.Transactional)

Example 20 with User

use of com.axelor.auth.db.User in project axelor-open-suite by axelor.

the class ExpenseController method validateExpense.

public void validateExpense(ActionRequest request, ActionResponse response) {
    User user = AuthUtils.getUser();
    Employee employee = user.getEmployee();
    ActionViewBuilder actionView = ActionView.define(I18n.get("Expenses to Validate")).model(Expense.class.getName()).add("grid", "expense-validate-grid").add("form", "expense-form").param("search-filters", "expense-filters");
    Beans.get(HRMenuValidateService.class).createValidateDomain(user, employee, actionView);
    response.setView(actionView.map());
}
Also used : User(com.axelor.auth.db.User) Employee(com.axelor.apps.hr.db.Employee) HRMenuValidateService(com.axelor.apps.hr.service.HRMenuValidateService) ActionViewBuilder(com.axelor.meta.schema.actions.ActionView.ActionViewBuilder)

Aggregations

User (com.axelor.auth.db.User)157 AxelorException (com.axelor.exception.AxelorException)35 Employee (com.axelor.apps.hr.db.Employee)28 ArrayList (java.util.ArrayList)25 HashMap (java.util.HashMap)25 Transactional (com.google.inject.persist.Transactional)24 LocalDate (java.time.LocalDate)23 Filter (com.axelor.rpc.filter.Filter)22 BigDecimal (java.math.BigDecimal)22 ClientViewService (com.axelor.apps.portal.service.ClientViewService)20 ActionViewBuilder (com.axelor.meta.schema.actions.ActionView.ActionViewBuilder)17 List (java.util.List)17 Map (java.util.Map)16 TimesheetLine (com.axelor.apps.hr.db.TimesheetLine)12 LocalDateTime (java.time.LocalDateTime)12 Company (com.axelor.apps.base.db.Company)11 Partner (com.axelor.apps.base.db.Partner)11 Beans (com.axelor.inject.Beans)11 Inject (com.google.inject.Inject)11 Product (com.axelor.apps.base.db.Product)9