edwrodrig/template_composer_webapp

View on GitHub
data/modules/admin/users_screen.js

Summary

Maintainability
D
2 days
Test Coverage
let users_screens = new class extends Element {
    constructor() {
        super("users_screen");
        this.create_user_form = this.form('create_user_form');
        this.set_user_type_form = this.form('set_user_type_form');
        this.set_user_password_form = this.form('set_user_password_form');

        let self = this;
        this.create_user_form.button('submit').click(function() {
            self.create_user_clicked();
        });

        this.set_user_type_form.button('submit').click(function() {
            self.set_user_type_clicked();
        });

        this.set_user_password_form.button('submit').click(function() {
            self.set_user_password_clicked();
        });
    }

    async create_user_clicked() {
        let form = this.create_user_form;
        let button = form.button('submit');

        let form_data = form.form_data;
        form_data.set('method', 'create_user');

        form.set_disabled(true);
        button.set_status_waiting();

        try {
            const response = await page.fetch(endpoint, form_data);

            page.snack_bar.show_success('Usuario creado!');

        } catch ( exception ) {
            page.handle_exception(exception);
        } finally {
            form.set_disabled(false);
            button.set_status_ready();
        }
    }

    async set_user_type_clicked() {
        let form = this.set_user_type_form;
        let button = form.button('submit');

        let form_data = form.form_data;
        form_data.set('method', 'set_user_type');

        form.set_disabled(true);
        button.set_status_waiting();

        try {
            const response = await page.fetch(endpoint, form_data);

            page.snack_bar.show_success('Cambio de tipo de usuario exitoso!');

        } catch ( exception ) {
            page.handle_exception(exception);
        } finally {
            form.set_disabled(false);
            button.set_status_ready();
        }
    }

    async set_user_password_clicked() {
        let form = this.set_user_password_form;
        let button = form.button('submit');

        let form_data = form.form_data;
        form_data.set('method', 'set_user_password');

        form.set_disabled(true);
        button.set_status_waiting();

        try {
            const response = await page.fetch(endpoint, form_data);

            page.snack_bar.show_success('Cambio de contraseƱa de usuario exitosa!');

        } catch ( exception ) {
            page.handle_exception(exception);
        } finally {
            form.set_disabled(false);
            button.set_status_ready();
        }
    }
};