Adapatado al nuevo formato de modulos con GMenuModel

This commit is contained in:
Alejandro T. Colombini Gómez 2014-05-26 16:16:34 +02:00
parent bbb5db4288
commit 1ebde52dd1
13 changed files with 291 additions and 344 deletions

View File

@ -15,7 +15,7 @@ AC_PROG_CC
dnl Check for vala. dnl Check for vala.
dnl You should change the version shown here manually to match with yours. dnl You should change the version shown here manually to match with yours.
AM_PROG_VALAC([0.20.0]) AM_PROG_VALAC([0.24])
dnl Internationalization dnl Internationalization
IT_PROG_INTLTOOL([0.35.0]) IT_PROG_INTLTOOL([0.35.0])
@ -29,7 +29,7 @@ AM_XGETTEXT_OPTION([-k_ -kQ_:1g -kN_ -kC_:1c,2 -kNC_:1c,2])
AC_MSG_CHECKING([whether to build with debug information...]) AC_MSG_CHECKING([whether to build with debug information...])
AC_ARG_ENABLE([debug], AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug], [AS_HELP_STRING([--enable-debug],
[Enable debug data generation (def=no)])], [Enable debug data generation (default = no)])],
[ENABLE_DEBUG="$enableval"], [ENABLE_DEBUG="$enableval"],
[ENABLE_DEBUG=no]) [ENABLE_DEBUG=no])
AC_MSG_RESULT([$ENABLE_DEBUG]) AC_MSG_RESULT([$ENABLE_DEBUG])
@ -45,7 +45,7 @@ fi
AC_MSG_CHECKING([whether C warnings will be shown...]) AC_MSG_CHECKING([whether C warnings will be shown...])
AC_ARG_ENABLE([c-warnings], AC_ARG_ENABLE([c-warnings],
[AS_HELP_STRING([--enable-c-warnings], [AS_HELP_STRING([--enable-c-warnings],
[Enable C warnings to be shown [default = no]])], [Enable C warnings to be shown (default = no)])],
[C_WARNINGS="$enableval"], [C_WARNINGS="$enableval"],
[C_WARNINGS=no]) [C_WARNINGS=no])
AC_MSG_RESULT([$C_WARNINGS]) AC_MSG_RESULT([$C_WARNINGS])
@ -61,30 +61,23 @@ AC_SUBST([VALAFLAGS])
LT_INIT LT_INIT
dnl Path to the directory of the unsinstalled hedera project.
AC_ARG_VAR([UNINSTALLED_DIR], [the directory of the uninstalled hedera project]) AC_ARG_VAR([UNINSTALLED_DIR], [the directory of the uninstalled hedera project])
: ${UNINSTALLED_DIR=''} : ${UNINSTALLED_DIR=''}
PKG_PROG_PKG_CONFIG PKG_PROG_PKG_CONFIG
if test $UNINSTALLED_DIR; then if test $UNINSTALLED_DIR; then
PKG_CHECK_MODULES(ACCOUNT, [gtk+-3.0]) VALA_CHECK_MODULES(ACCOUNT, [gtk+-3.0])
ACCOUNT_CFLAGS+=-I$UNINSTALLED_DIR ACCOUNT_CFLAGS+=-I$UNINSTALLED_DIR
ACCOUNT_LIBS+=$UNINSTALLED_DIR/build/main/libhedera.la ACCOUNT_LIBS+=$UNINSTALLED_DIR/build/main/libhedera.la
VALAFLAGS+="$ACCOUNT_VALAFLAGS --pkg gvn --pkg sql --pkg db --pkg vn --vapidir $UNINSTALLED_DIR/build/vapi "
VALA_CHECK_PACKAGES([gtk+-3.0])
VALAFLAGS+='--pkg gtk+-3.0 \
--pkg gvn --pkg sql --pkg db --pkg vn \
--vapidir $(UNINSTALLED_DIR)/build/vapi '
AC_SUBST(account_libdir, $libdir/hedera/module) AC_SUBST(account_libdir, $libdir/hedera/module)
AC_SUBST(account_datadir, $datadir/hedera/module) AC_SUBST(account_datadir, $datadir/hedera/module)
AC_SUBST(querydir, $account_datadir/sql) AC_SUBST(querydir, $account_datadir/sql)
else else
PKG_CHECK_MODULES(ACCOUNT, [hedera]) VALA_CHECK_MODULES(ACCOUNT, [hedera])
VALAFLAGS+=$ACCOUNT_VALAFLAGS
VALA_CHECK_PACKAGES([hedera])
VALAFLAGS+='--pkg hedera '
PKG_CHECK_VAR([account_libdir], [hedera], [modulelibdir]) PKG_CHECK_VAR([account_libdir], [hedera], [modulelibdir])
PKG_CHECK_VAR([account_datadir], [hedera], [moduledatadir]) PKG_CHECK_VAR([account_datadir], [hedera], [moduledatadir])
@ -96,3 +89,4 @@ AC_OUTPUT([
src/Makefile src/Makefile
data/Makefile data/Makefile
po/Makefile.in]) po/Makefile.in])

View File

@ -1,7 +1,7 @@
account_data_DATA = \ account_data_DATA = \
account-menu.glade\
account.xml \ account.xml \
account.ui \
users.glade \ users.glade \
email.glade email.glade

16
data/account-menu.glade Normal file
View File

@ -0,0 +1,16 @@
<interface>
<requires lib="gtk+" version="3.0"/>
<menu id='menu'>
<item>
<attribute name='label' translatable='yes'>Users</attribute>
<attribute name='action'>win.open-users</attribute>
<attribute name='accel'>F2</attribute>
</item>
<item>
<attribute name='label' translatable='yes'>EMail</attribute>
<attribute name='action'>win.open-email</attribute>
<attribute name='accel'>F3</attribute>
</item>
</menu>
</interface>

View File

@ -1,10 +0,0 @@
<ui>
<menubar name="MenuBar">
<placeholder name="ModuleMenu">
<menu name="AccountMenu" action="action-menu-account">
<menuitem name="Users" action="open-users"/>
<menuitem name="EMail" action="open-email"/>
</menu>
</placeholder>
</menubar>
</ui>

View File

@ -8,13 +8,11 @@
translatable="yes" translatable="yes"
name="users" name="users"
icon="x-office-address-book" icon="x-office-address-book"
action-name="open-users" action-name="open-users">Users</form>
accel="F2">Users</form>
<form <form
translatable="yes" translatable="yes"
name="email" name="email"
icon="mail-mark-unread" icon="mail-mark-unread"
action-name="open-email" action-name="open-email">E-Mail</form>
accel="F3">E-Mail</form>
</form-group> </form-group>
</module> </module>

View File

@ -1,7 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<interface> <interface>
<!-- interface-requires vn 1.0 --> <requires lib="gtk+" version="3.0"/>
<!-- interface-requires gtk+ 3.0 --> <requires lib="vn" version="1.0"/>
<object class="VnBatch" id="models">
<child>
<object class="VnModel" id="model-child">
<property name="sql">SELECT parent, child FROM mail_alias_child WHERE #link</property>
<property name="update_flags">DB_MODEL_INSERT | DB_MODEL_DELETE | DB_MODEL_UPDATE</property>
<links>
<link field="mail_alias_child.parent" param="id" linked="True"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="model-alias">
<property name="sql">SELECT id, alias FROM mail_alias</property>
<property name="update_flags">DB_MODEL_INSERT | DB_MODEL_DELETE | DB_MODEL_UPDATE</property>
</object>
</child>
</object>
<object class="VnBatch" id="iterators"> <object class="VnBatch" id="iterators">
<child> <child>
<object class="VnIterator" id="child"> <object class="VnIterator" id="child">
@ -12,7 +30,7 @@
<object class="VnIterator" id="alias"> <object class="VnIterator" id="alias">
<property name="model">model-alias</property> <property name="model">model-alias</property>
<child> <child>
<object class="DbParam" id="alias-id"> <object class="DbParam" id="id">
<property name="column_name">id</property> <property name="column_name">id</property>
</object> </object>
</child> </child>
@ -75,8 +93,6 @@
<object class="VnHandler" id="handler1"> <object class="VnHandler" id="handler1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="spacing">6</property>
<property name="layout_style">end</property>
<property name="iterator">alias</property> <property name="iterator">alias</property>
<property name="show_flags">VN_HANDLER_SHOW_SAVE | VN_HANDLER_SHOW_REMOVE | VN_HANDLER_SHOW_ADD</property> <property name="show_flags">VN_HANDLER_SHOW_SAVE | VN_HANDLER_SHOW_REMOVE | VN_HANDLER_SHOW_ADD</property>
</object> </object>
@ -134,8 +150,6 @@
<object class="VnHandler" id="handler2"> <object class="VnHandler" id="handler2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="spacing">6</property>
<property name="layout_style">end</property>
<property name="iterator">child</property> <property name="iterator">child</property>
<property name="show_flags">VN_HANDLER_SHOW_SAVE | VN_HANDLER_SHOW_REMOVE | VN_HANDLER_SHOW_ADD</property> <property name="show_flags">VN_HANDLER_SHOW_SAVE | VN_HANDLER_SHOW_REMOVE | VN_HANDLER_SHOW_ADD</property>
</object> </object>
@ -162,19 +176,4 @@
</packing> </packing>
</child> </child>
</object> </object>
<object class="VnBatch" id="models">
<child>
<object class="VnModel" id="model-child">
<property name="sql">SELECT parent, child FROM mail_alias_child WHERE #p</property>
<links>
<link field="parent" param="alias-id"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="model-alias">
<property name="sql">SELECT id, alias FROM mail_alias</property>
</object>
</child>
</object>
</interface> </interface>

View File

@ -1,13 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<interface> <interface>
<!-- interface-requires vn 0.0 --> <requires lib="gtk+" version="3.0"/>
<!-- interface-requires gtk+ 3.0 --> <requires lib="vn" version="1.0"/>
<object class="VnBatch" id="models">
<child>
<object class="VnModel" id="account-combo-model">
<property name="sql">SELECT id, name FROM `group`</property>
</object>
</child>
<child>
<object class="VnModel" id="account-model">
<property name="sql">SELECT user_id, group_id, uid, last_change, expire
FROM account
WHERE #link</property>
<property name="update_flags">DB_MODEL_INSERT | DB_MODEL_DELETE | DB_MODEL_UPDATE</property>
<links>
<link field="account.user_id" param="id" linked="True"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="alias-model">
<property name="sql">SELECT mail_alias_id, user_id
FROM mail_alias_account
WHERE #link</property>
<property name="update_flags">DB_MODEL_INSERT | DB_MODEL_DELETE | DB_MODEL_UPDATE</property>
<links>
<link field="mail_alias_account.user_id" param="user-id" linked="True"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="user-combo-model">
<property name="sql">SELECT id, user FROM mysql_user</property>
</object>
</child>
<child>
<object class="VnModel" id="alias-combo-model">
<property name="sql">SELECT id, alias FROM mail_alias</property>
</object>
</child>
<child>
<object class="VnModel" id="sip-model">
<property name="sql">SELECT user_id, extension, secret, callerid
FROM account_sip
WHERE #link</property>
<property name="update_flags">DB_MODEL_INSERT | DB_MODEL_DELETE | DB_MODEL_UPDATE</property>
<links>
<link field="account_sip.user_id" param="user-id" linked="True"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="users-model">
<property name="sql">SELECT u.id, u.name, u.mysql_user_id, m.user, u.active
FROM `user` u
JOIN mysql_user m ON u.mysql_user_id = m.id</property>
<property name="update_flags">DB_MODEL_INSERT | DB_MODEL_DELETE | DB_MODEL_UPDATE</property>
</object>
</child>
</object>
<object class="VnBatch" id="iterators"> <object class="VnBatch" id="iterators">
<child> <child>
<object class="VnIterator" id="users"> <object class="VnIterator" id="users">
<property name="model">users-model</property> <property name="model">users-model</property>
<child> <child>
<object class="DbParam" id="users-id"> <object class="DbParam" id="id">
<property name="column_name">id</property> <property name="column_name">id</property>
</object> </object>
</child> </child>
@ -29,229 +88,13 @@
<property name="model">account-model</property> <property name="model">account-model</property>
<property name="mode">on-iter</property> <property name="mode">on-iter</property>
<child> <child>
<object class="DbParam" id="account-user_id"> <object class="DbParam" id="user-id">
<property name="column_name">user_id</property> <property name="column_name">user_id</property>
</object> </object>
</child> </child>
</object> </object>
</child> </child>
</object> </object>
<object class="VnBatch" id="models">
<child>
<object class="VnModel" id="account-combo-model">
<property name="sql">SELECT id, name FROM `group`</property>
<property name="update_flags"/>
</object>
</child>
<child>
<object class="VnModel" id="account-model">
<property name="sql">SELECT user_id, group_id, uid, last_change, expire
FROM account
WHERE #p</property>
<links>
<link field="user_id" param="users-id"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="alias-model">
<property name="sql">SELECT mail_alias_id, user_id
FROM mail_alias_account
WHERE #p</property>
<links>
<link field="user_id" param="account-user_id"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="user-combo-model">
<property name="sql">SELECT id, user FROM mysql_user</property>
<property name="update_flags"/>
</object>
</child>
<child>
<object class="VnModel" id="alias-combo-model">
<property name="sql">SELECT id, alias FROM mail_alias</property>
<property name="update_flags"/>
</object>
</child>
<child>
<object class="VnModel" id="sip-model">
<property name="sql">SELECT user_id, extension, secret, callerid
FROM account_sip
WHERE #p</property>
<links>
<link field="user_id" param="account-user_id"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="users-model">
<property name="sql">SELECT u.id, u.name, u.mysql_user_id, m.user, u.active
FROM `user` u
JOIN mysql_user m ON u.mysql_user_id = m.id</property>
</object>
</child>
</object>
<object class="GtkDialog" id="password-dialog">
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="title" translatable="yes">Change password</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="destroy_with_parent">True</property>
<property name="type_hint">dialog</property>
<signal name="delete-event" handler="gtk_true" swapped="no"/>
<signal name="response" handler="vn_users_on_dialog_response" swapped="no"/>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox2">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<object class="GtkInfoBar" id="password-infobar">
<property name="app_paintable">True</property>
<property name="can_focus">False</property>
<child internal-child="content_area">
<object class="GtkBox" id="infobar-content_area1">
<property name="can_focus">False</property>
<property name="border_width">8</property>
<property name="spacing">8</property>
<child>
<object class="GtkLabel" id="password-error">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child internal-child="action_area">
<object class="GtkButtonBox" id="infobar-action_area1">
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="orientation">vertical</property>
<property name="layout_style">end</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="label23">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Password:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label22">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Repeat password:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="password-entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="visibility">False</property>
<property name="invisible_char">●</property>
<property name="invisible_char_set">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="repeat-password">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="visibility">False</property>
<property name="invisible_char">●</property>
<property name="invisible_char_set">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area2">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
<object class="DbParam" id="search-user"/>
<object class="GtkBox" id="main"> <object class="GtkBox" id="main">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
@ -264,7 +107,7 @@ FROM `user` u
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="shadow_type">in</property> <property name="shadow_type">in</property>
<child> <child>
<object class="VnGrid" id="grid1"> <object class="VnGrid" id="grid">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="headers_clickable">False</property> <property name="headers_clickable">False</property>
@ -311,7 +154,6 @@ FROM `user` u
<object class="VnHandler" id="handler1"> <object class="VnHandler" id="handler1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="layout_style">end</property>
<property name="iterator">users</property> <property name="iterator">users</property>
<property name="show_flags">VN_HANDLER_SHOW_REFRESH | VN_HANDLER_SHOW_UNDO | VN_HANDLER_SHOW_SAVE | VN_HANDLER_SHOW_REMOVE | VN_HANDLER_SHOW_ADD</property> <property name="show_flags">VN_HANDLER_SHOW_REFRESH | VN_HANDLER_SHOW_UNDO | VN_HANDLER_SHOW_SAVE | VN_HANDLER_SHOW_REMOVE | VN_HANDLER_SHOW_ADD</property>
</object> </object>
@ -351,8 +193,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">1</property> <property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -365,8 +205,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">2</property> <property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -379,8 +217,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">3</property> <property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -393,8 +229,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">4</property> <property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -407,8 +241,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">4</property> <property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -422,8 +254,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">0</property> <property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -438,8 +268,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">0</property> <property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -452,23 +280,19 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">1</property> <property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="VnCombo" id="combo1"> <object class="VnCombo" id="combo1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="model">user-combo-model</property>
<property name="iterator">users</property> <property name="iterator">users</property>
<property name="column_name">mysql_user_id</property> <property name="column_name">mysql_user_id</property>
<property name="model">user-combo-model</property>
</object> </object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">3</property> <property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -483,8 +307,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">2</property> <property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
</object> </object>
@ -525,15 +347,13 @@ FROM `user` u
<object class="VnCombo" id="combo2"> <object class="VnCombo" id="combo2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="model">account-combo-model</property>
<property name="iterator">account</property> <property name="iterator">account</property>
<property name="column_name">group_id</property> <property name="column_name">group_id</property>
<property name="model">account-combo-model</property>
</object> </object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">1</property> <property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -547,8 +367,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">0</property> <property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -562,8 +380,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">0</property> <property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -576,8 +392,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">1</property> <property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -590,8 +404,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">2</property> <property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -604,8 +416,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">3</property> <property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -618,8 +428,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">2</property> <property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -632,8 +440,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">3</property> <property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
</object> </object>
@ -647,7 +453,6 @@ FROM `user` u
<object class="VnHandler" id="handler2"> <object class="VnHandler" id="handler2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="layout_style">end</property>
<property name="iterator">account</property> <property name="iterator">account</property>
<property name="simple_record">True</property> <property name="simple_record">True</property>
</object> </object>
@ -717,8 +522,6 @@ FROM `user` u
<object class="VnHandler" id="handler4"> <object class="VnHandler" id="handler4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="spacing">6</property>
<property name="layout_style">end</property>
<property name="iterator">alias</property> <property name="iterator">alias</property>
<property name="show_flags">VN_HANDLER_SHOW_SAVE | VN_HANDLER_SHOW_REMOVE | VN_HANDLER_SHOW_ADD</property> <property name="show_flags">VN_HANDLER_SHOW_SAVE | VN_HANDLER_SHOW_REMOVE | VN_HANDLER_SHOW_ADD</property>
</object> </object>
@ -771,8 +574,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">0</property> <property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -785,8 +586,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">1</property> <property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -799,8 +598,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">2</property> <property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -814,8 +611,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">0</property> <property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -828,8 +623,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">1</property> <property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -842,8 +635,6 @@ FROM `user` u
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="top_attach">2</property> <property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing> </packing>
</child> </child>
</object> </object>
@ -857,9 +648,8 @@ FROM `user` u
<object class="VnHandler" id="handler3"> <object class="VnHandler" id="handler3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="spacing">6</property>
<property name="layout_style">end</property>
<property name="iterator">sip</property> <property name="iterator">sip</property>
<property name="simple_record">True</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -892,4 +682,152 @@ FROM `user` u
</packing> </packing>
</child> </child>
</object> </object>
<object class="GtkDialog" id="password-dialog">
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="title" translatable="yes">Change password</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="destroy_with_parent">True</property>
<property name="type_hint">dialog</property>
<signal name="delete-event" handler="gtk_true" swapped="no"/>
<signal name="response" handler="vn_users_on_dialog_response" swapped="no"/>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox2">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<object class="GtkInfoBar" id="password-infobar">
<property name="app_paintable">True</property>
<property name="can_focus">False</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="infobar-action_area1">
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="orientation">vertical</property>
<property name="layout_style">end</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child internal-child="content_area">
<object class="GtkBox" id="infobar-content_area1">
<property name="can_focus">False</property>
<property name="border_width">8</property>
<property name="spacing">8</property>
<child>
<object class="GtkLabel" id="password-error">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="label23">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Password:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label22">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Repeat password:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="password-entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="visibility">False</property>
<property name="invisible_char">●</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="repeat-password">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="visibility">False</property>
<property name="invisible_char">●</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area2">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface> </interface>

2
debian/changelog vendored
View File

@ -1,4 +1,4 @@
hedera-account (1.0-3) UNRELEASED; urgency=low hedera-account (1.0-5) UNRELEASED; urgency=low
* Initial Release. * Initial Release.

1
debian/control vendored
View File

@ -11,3 +11,4 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, hedera
Description: Verdnatura management module Description: Verdnatura management module
Verdnatura management module for Hedera. Includes: Verdnatura management module for Hedera. Includes:
* User account control panel. * User account control panel.
* E-mail alias editor.

View File

@ -2,6 +2,7 @@
src/account.vala src/account.vala
[type: gettext/glade]data/account.xml [type: gettext/glade]data/account.xml
data/account-menu.glade
src/users.vala src/users.vala
data/users.glade data/users.glade

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-12-20 16:14+0100\n" "POT-Creation-Date: 2014-04-15 16:33+0200\n"
"PO-Revision-Date: 2013-09-24 12:09+0200\n" "PO-Revision-Date: 2013-09-24 12:09+0200\n"
"Last-Translator: Alejandro T. Colombini <atcolombini@verdnatura.es>\n" "Last-Translator: Alejandro T. Colombini <atcolombini@verdnatura.es>\n"
"Language-Team: none\n" "Language-Team: none\n"
@ -34,15 +34,23 @@ msgstr "Usuarios"
msgid "E-Mail" msgid "E-Mail"
msgstr "E-Mail" msgstr "E-Mail"
#: ../src/users.vala:87 #: ../src/users.vala:32
msgid "Cancel"
msgstr "Cancelar"
#: ../src/users.vala:33
msgid "Apply"
msgstr "Aplicar"
#: ../src/users.vala:70
msgid "The password can't be empty." msgid "The password can't be empty."
msgstr "La contraseña no puede estar vacía." msgstr "La contraseña no puede estar vacía."
#: ../src/users.vala:89 #: ../src/users.vala:72
msgid "Passwords do not match." msgid "Passwords do not match."
msgstr "Las contraseñas no coinciden." msgstr "Las contraseñas no coinciden."
#: ../src/users.vala:115 #: ../src/users.vala:98
msgid "The password is too weak." msgid "The password is too weak."
msgstr "La contraseña es demasiado débil." msgstr "La contraseña es demasiado débil."

View File

@ -28,3 +28,4 @@ libaccount_la_VALAFLAGS = $(VALAFLAGS)
uninstall-local: uninstall-local:
rm -f $(DESTDIR)$(libdir)/hedera/module/libaccount.so rm -f $(DESTDIR)$(libdir)/hedera/module/libaccount.so

View File

@ -25,12 +25,12 @@ public class Vn.Users : Vn.Form
public override void open (Gtk.Builder builder) public override void open (Gtk.Builder builder)
{ {
user_id = get ("user-id") as Gvn.Param;
password_entry = get ("password-entry") as Gtk.Entry; password_entry = get ("password-entry") as Gtk.Entry;
repeat_password = get ("repeat-password") as Gtk.Entry; repeat_password = get ("repeat-password") as Gtk.Entry;
password_dialog = get ("password-dialog") as Gtk.Dialog; password_dialog = get ("password-dialog") as Gtk.Dialog;
password_dialog.add_button (Gtk.Stock.CANCEL, Gtk.ResponseType.CANCEL); password_dialog.add_button (_("Cancel"), Gtk.ResponseType.CANCEL);
password_dialog.add_button (Gtk.Stock.APPLY, Gtk.ResponseType.ACCEPT); password_dialog.add_button (_("Apply"), Gtk.ResponseType.ACCEPT);
} }
public void reset_dialog (string? error) public void reset_dialog (string? error)
@ -64,19 +64,20 @@ public class Vn.Users : Vn.Form
{ {
if (response_id == Gtk.ResponseType.ACCEPT) if (response_id == Gtk.ResponseType.ACCEPT)
{ {
string password = password_entry.text; string pass = password_entry.text;
if (password == "") if (pass == "")
reset_dialog (_("The password can't be empty.")); reset_dialog (_("The password can't be empty."));
else if (password != repeat_password.text) else if (pass != repeat_password.text)
reset_dialog (_("Passwords do not match.")); reset_dialog (_("Passwords do not match."));
else else
{ {
var query = new Sql.String ("SELECT user_set_password (#p, #p)"); var batch = new Sql.Batch ();
query.add_param (user_id); batch.add_from_param ("user", user_id);
query.add_value (typeof (string), password); batch.add_from_value ("pass", typeof (string), pass);
conn.query_with_stmt_async (query, on_password_changed); string query = "SELECT user_set_password (#user, #pass)";
conn.query_async (query, batch, on_password_changed);
} }
} }
else else
@ -88,7 +89,7 @@ public class Vn.Users : Vn.Form
{ {
GLib.Value val; GLib.Value val;
try try
{ {
request.fetch_value (out val); request.fetch_value (out val);